ゼミ室10に配置しているThinkPad等のコンピューティング環境は、阿部が独自に構築しているものです。
不具合やログインしてから何か気がついたことがあれば、すぐに知らせてください。
(e.g. ログインしたのにホームディレクトリがない、アプリケーションがない、使い方が分からない、等)
1. クライアント環境
ゼミ室では、作業を行なうための端末として、ThinkPadにXubuntuを導入した環境を準備しています。
IP AddressなどのNetwork環境については、ネットワーク構成についてのページも参照してください。
3. アプリケーションの起動方法
4. 利用できるコマンドの確認方法
一部の操作はroot(特権)ユーザーで実行可能にしています。 sudoコマンドに続けて実行したい内容を引数に指定してください。
## sudoで実行できるコマンドの確認方法
$ sudo -l
sudoコマンドを利用することで、rootユーザーだけが読み取りできるファイルの内容を確認することが可能です。
$ ls -l /etc/sudoers
-r--r----- 1 root root 779 May 2 2018 /etc/sudoers
$ sudo cat /etc/sudoers
5. 主なカスタマイズ方法
明るさ調整以外の設定手段にはメニューの設定メニューからアクセス可能です。
あるいはメニュー上部のテキストウィンドウに、"mouse"などの文字を入力しても絞り込むことができます。
5.2. マウス操作 (タッチパッド、トラックポインタ)
デフォルトでは、タッチパッド、トラックポインタの両方が有効になっています。
"Mouse and Touchpad"の設定画面では、有効・無効の切り替えや、カーソル速度の変更などができます。
下の図はTouchPadを無効にした場合です。
TrackPointは慣れると使いやすいですが、自分の指の力にあったカーソル速度になるよう"Acceleration"設定を調整してください。
5.3. 解像度設定
x270, t430(s)ではフルHD(1920x1080 pixel)の画面解像度が設定可能です。 画面が狭い、逆に広すぎて文字が小さいなどの問題がある場合には個別に設定 してください。
5.4. 日本語入力の方法
まず日本語を入力するまでの変更操作について説明します。
5.4.2. 日本語変換エンジンの選択
"IBus Preferences" メニューを開き、Input Methodタブを開き、Addボタンを押します。
"Japanese"を選択し、Mozc(Google日本語入力互換)を選択してください。
5.4.4. 設定後の日本語入力方法の切り替え
Language Supportで"IBus"が選択済みだった場合には、そのまま日本語入力が可能です。
Input Methodを変更した場合には、再起動をする必要はありませんが、ログアウトしてから再度ログインしてください。
5.4.4.1. 日本語切り替えの裏側
ログアウトせずに日本語入力を有効にするためには、環境変数を適切に変更した上でプロセスを再起動する必要があります。
主な環境変数は以下のとおりです。
export CLUTTER_IM_MODULE=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
これらは Language Support メニューの設定を元に自動的に設定されるため、ログインをやり直すことで親プロセスに設定され、子プロセスに引き継がれることで意識せずに日本語入力が各アプリケーションで可能になります。
5.4.5. 英語キーボードでのMozcの利用について
Ubuntu 24.04からはAnthyが利用できなくなったため、Mozcが代表的な日本語入力システムとなっています。
Mozcは日本語キーボードの利用が前提となっている設定のため、英数入力と日本語入力を切り替えるためにはメニューの操作が必要です。
次のようなカスタマイズによってキーボード上で入力方法を切り替えることが可能です。
5.4.5.1. Mozc Settingsの起動とキーマップの変更
Mozcの挙動を変更するためには"Mozc Settings"を利用します。
まずメニューから"Mozc Setup"を選択します。
続いて、Keymapの変更を行うため"Customize…"ボタンを押下します。
5.4.5.2. 全角/半角切り替えボタンの役割をF12キーに割り当てる
次のようにF12などの普段利用しないキーに日本語入力のための機能を割り当てます。
新しい機能を割り当てる時には、"Edit"プルダウンメニューから"New entry"を選択します。
テーブルの最下行に空のエントリが追加されるので、次のようにエントリを追加します。
Mode | Key | Command |
---|---|---|
DirectInput |
F12 |
Activate IME |
PreComposition |
F12 |
Deactivate IME |
これだけでは不便な場合もあるので、Composition(編集中)にF12を押下するとHiraganaモードに切り替えるようにします。 この設定については他にも選択肢があるので、使い易い設定を選択してください。
Mode | Key | Command |
---|---|---|
Composition |
F12 |
Set input mode to Hiragana |
次のような設定になれば終りです。
設定が反映されない場合は、1度ログアウトし、ログインし直してください。
5.4.5.3. Mozcの基本設定
日本語入力中にアルファベットを入力したい場合などCompositionモードではF7〜F9キーによく使う機能が割り当てられています。
-
F6 - ひらがな入力 (デフォルト)
-
F7 - 全角カタカナ入力
-
F8 - 半角入力
-
F9 - 全角アルファベット入力
実際の操作で確認してください。
6. UNIX環境での日本語入力について
UNIX環境では言語入力に関連する仕組みは以下のような層になっていて、各層に複数のアプリケーションが存在しています。
基本的には各層から自分が利用したいアプリケーションを選択し、組み合せることで日本語入力を実現しています。
+---------------------+
| Conversion Engine | <-- Anthy, Mozc, SKK, Canna, etc. (日本語に特化した連文節変換、予測変換などの機能)
+---------------------+
| Input Method | <--- ibus, fcitx, iiimf, etc. (日本語以外の言語に依らない入力の制御, Shift+Spaceによる入力開始等)
+---------------------+
| Desktop Environment | <-- Xfce, GTK/Gnome, QT, etc. (WebブラウザのTextウィジェットへのフォーカス管理等, XIM/immodule等へのインタフェース)
+---------------------+
| X11 | (最も低レベルの機能を提供、画面への文字の表示など)
+---------------------+
なお、WindowsやmacOSではConversion Engine以外の層はOSが提供するものしか利用できないため、実質的に無視できる仕組みになっています。
6.1. X11環境における日本語入力の仕組み
日本語入力の仕組みについて意識することもないのではないと思いますが、ここではX11環境における日本語入力について概要を説明します。
6.1.1. キーボードからの入力を受け取る仕組み (Xサーバーが提供する機能)
X11では日本語以外にも様々な言語に対応する必要があるため、キーボードから入力された文字を何らかのプログラムで別の文字(データ)に変換するための仕組みを提供しています。
基本的な仕組みをXIM (X Input Method)と呼び、X11サーバーがキーボードからの入力を別のプログラムに渡すための仕組みのみを提供します。
X11サーバーがデータを渡す先、つまりキーボードからの入力を処理するための別のプログラムをInput Method Library/Serverと呼び、様々なプログラムが提供されています。(e.g. uim, ibus, scim, fcitx)
そして、一般的にはこららのIMサーバーからの実際の処理を請け負う、つまり日本語を含めた各言語にキーボード入力を変換するための変換プログラムが存在します。(e.g. fcitx-anthy, fcitx-mozc, ibus-skk, scim-canna)
6.1.2. 各言語の文字に変換する仕組み
IMサーバーが受け取ったキーボードの入力を元に、日本語などに変換するための仕組み(変換エンジン)が存在します。 Linuxで利用可能な一般的な日本語用の変換エンジンには、anthy, mozc, skk, cannaなどが存在します。
利用するIMサーバーによって、サポートする変換エンジンは異なるため、利用できる組み合わせには制限があります。
-
anthy - 連文節変換を行なう一般的な日本語変換エンジン (fcitx, ibus, scimなどのIMサーバーがサポート)
-
mozc - Google日本語変換のような入力文字から予測する (fcitx, ibus, uimなどのIMサーバーがサポート)
-
skk - Emacs発祥の日本語変換エンジン。論文作成など大量の文章を入力する際に力を発揮する (fcitx, ibus, uim, scimなどのIMサーバーがサポート)
-
canna - Wnnと並び古くからある日本語変換エンジン (uim,scimなどのIMサーバーがサポート)
IMサーバーとこれらの日本語変換エンジンの組み合せによって、X11環境での日本語入力環境が実現されています。 このような役割分担によって、他の言語や、まだ存在していない新しい言語にも対応できる能力を実現しています。
6.2. X11アプリケーション(クライアント)が日本語入力を行なうための仕組み
まずX11が土台にあり、その上でGnomeやQTなどのデスクトップ環境が構築されていたり、それらを利用しない古いX11アプリケーションが動いたりしています。それぞれのレベルで日本語入力の取り扱いは微妙に異なりますが、いずれも環境変数を利用してXIMもしくは独自の仕組みを利用しています。
関連の環境変数は次のような方法で確認ができます。
$ env |egrep 'ibus|IM' |sort
CLUTTER_IM_MODULE=xim
GTK_IM_MODULE=ibus
## 省略
QT4_IM_MODULE=ibus
QT_IM_MODULE=ibus
## 省略
XMODIFIERS=@im=ibus
GTKやQTはX11ライブラリの上に構築されていますが、細かな制御を行なうためにXIMを利用しない独自の方法も提供しています。 このGTK/QTの独自設定を利用した場合には、それらのWidgetを利用しないX11アプリケーションでは、日本語入力ができなくなります。
反対にアプリケーションが独自に日本語入力を扱う場合には、GTK/QTの日本語入力が邪魔になる場合もあります。 このような場合には、次のようにemacsを起動することでXIM経由での日本語入力ができなくなります。
$ env XMODIFIERS=@im=none GTK_IM_MODULE=xim emacs
このように起動したEmacsでは、ibusを経由した日本語変換ができなくなります。 この設定はEmacs-Lispで記述された日本語変換エンジンや、外部の日本語変換エンジンと通信したい場合に使用します。
6.3. Emacsで独自の日本語変換エンジンを利用する場合
前述のように起動した場合でも、Emacsは独自の日本語変換機能を持っているので日本語変換自体は可能です。
-
文字を入力する準備のため、C-x b を押下し、適当なBufferを作成するか、空のファイルを開く
-
C-\ を押下し、Input Method: と質問されるので、"japanese" と入力する
-
ローマ時入力によって変換を実行する
この他の日本語変換エンジンとしては、ddskkが有名です。 この他にもanthy.elやmozc.elを使用することでEmacs上でibusとは異なる日本語変換エンジンをEmacsから利用することができます。
この場合、EmacsがInput Methodの機能を提供すれば、直接Conversion Engineと通信することも可能です。
6.3.1. EmacsでAnthyを利用する場合
emacsを起動して次に要領で、anthy-modeを起動します。
M-x load-library
anthy
一度anthyライブラリをロードすれば、日本語入力のOn/Offは次の方法で切り替えが可能です。
M-x anthy-mode
6.3.2. EmacsでMozcを利用する場合
anthyと基本的な手順は同様ですが、ライブラリ名が少し違います。
M-x load-libarary
emacs-mozc/mozc.el
以降は、Anthyと同様に M-x mozc-mode で切り替えが可能です。
6.3.3. EmacsでSKKを利用する場合
ライブラリは既にインストールされているので、anthy,mozcと同様の手順で利用が可能です。
7. この他のカスタマイズについて
7.1. CapsLockキーとControlキーの交換
Control(Ctrl)キーを’A’キーの隣にするため、CapsLockキーと交換したい場合があります。
いくつか方法がありますが、主な方法を2つ紹介します。
7.1.1. X11の基本機能 xmodmap コマンドを利用する方法
一番汎用的でOSを問わずX11を利用する場合にはどこでも利用できます。演習室のCentOSでも利用が可能です。
man xmodmap
コマンドで表示されるマニュアルの中に、次のような設定が掲載されています。
!
! Swap Caps_Lock and Control_L
!
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
この内容を~/.Xmodmap
というファイル名で保存します。行頭の空白を削除する必要はありません。
次に、このファイルを引数に xmodmap
コマンドを実行します。
$ xmodmap ~/.Xmodmap
これでCapsLockとCtrlキーが交換されました。もう1度コマンドを繰り返し実行すると元の状態に戻ります。
ここで利用した~/.Xmodmap
ファイルは、ゼミ室10の環境では次回のログイン時からは自動的に読み込まれるため、再度コマンドを実行する必要はありません。
興味のある人は、/etc/xdg/xfce4/xinitrc
ファイルを確認してください。