[ 言語選択: English ]

1. クライアント環境

ゼミ室では、作業を行なうための端末として、ThinkPadにXubuntuを導入した環境を準備しています。

  • OS: Xubuntu (Ubuntuの Gnome3 ではなく Xfce を利用した軽量デスクトップ環境を備えたDistribution) (LTS)

  • Packages: ibus, language-pack-ja, docker, kubectl, 他

IP AddressなどのNetwork環境については、ネットワーク構成についてのページも参照してください。

ゼミ室10に配置しているThinkPad等のコンピューティング環境は、阿部が独自に構築しているものです。
不具合やログインしてから何か気がついたことがあれば、すぐに知らせてください。
(e.g. ログインしたのにホームディレクトリがない、アプリケーションがない、使い方が分からない、等)

2. ログインの方法

Xubuntuのログイン画面では、"Other.."を選択し、演習室と同じように、AINSのID,パスワードを入力してください。

client.xubudesk login user switch

3. アプリケーションの起動方法

Webブラウザーや端末(Terminal Emulator)などの一般的なアプリケーションは画面左上のメニューから起動してください。

client.xubudesk top left menu

3.1. ターミナルの起動

Shellを動かす端末環境はメニューにデフォルト表示があります。

client.ubuntu menu terminal

この他の端末アプリケーションを検索する場合、上部の検索エリアに*terminal*などのキーワードを入力してください。

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"などの文字を入力しても絞り込むことができます。

client.xfce4 menu

5.1. 画面の明さの調整

画面が暗いなどの場合にはキーボード上のFnキーを押しながら、F5, F6キーを押下して調整してください。

client.20230214 screen brightness

Fnキーは、キーボードの左下隅にあります。

5.2. マウス操作 (タッチパッド、トラックポインタ)

デフォルトでは、タッチパッド、トラックポインタの両方が有効になっています。

"Mouse and Touchpad"の設定画面では、有効・無効の切り替えや、カーソル速度の変更などができます。

下の図はTouchPadを無効にした場合です。

client.mouse touchpad

TrackPointは慣れると使いやすいですが、自分の指の力にあったカーソル速度になるよう"Acceleration"設定を調整してください。

client.mouse trackpoint

5.3. 解像度設定

x270, t430(s)ではフルHD(1920x1080 pixel)の画面解像度が設定可能です。 画面が狭い、逆に広すぎて文字が小さいなどの問題がある場合には個別に設定 してください。

client.xfce4 display

5.4. 日本語入力の方法

まず日本語を入力するまでの変更操作について説明します。

5.4.1. 入力切り替え方式(Input Method)の選択

"Language Support" メニューを開き、Input Methodに IBus を設定します。

client.language ibus

5.4.2. 日本語変換エンジンの選択

"IBus Preferences" メニューを開き、Input Methodタブを開き、Addボタンを押します。

"Japanese"を選択し、Mozc(Google日本語入力互換)を選択してください。

client.ibus pref engine selecter

5.4.3. 不要な変換エンジンの削除

Mozcを追加したら、続けて英語入力(English - English(US))やJapanese等の項目を削除(Remove)します。

client.ibus pref delete english

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"を選択します。

client.mozc menu

続いて、Keymapの変更を行うため"Customize…​"ボタンを押下します。

client.mozc preference

5.4.5.2. 全角/半角切り替えボタンの役割をF12キーに割り当てる

次のようにF12などの普段利用しないキーに日本語入力のための機能を割り当てます。

新しい機能を割り当てる時には、"Edit"プルダウンメニューから"New entry"を選択します。

client.mozc newentry

テーブルの最下行に空のエントリが追加されるので、次のようにエントリを追加します。

Mode Key Command

DirectInput

F12

Activate IME

PreComposition

F12

Deactivate IME

これだけでは不便な場合もあるので、Composition(編集中)にF12を押下するとHiraganaモードに切り替えるようにします。 この設定については他にも選択肢があるので、使い易い設定を選択してください。

Mode Key Command

Composition

F12

Set input mode to Hiragana

次のような設定になれば終りです。

client.mozc keymap

設定が反映されない場合は、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は独自の日本語変換機能を持っているので日本語変換自体は可能です。

  1. 文字を入力する準備のため、C-x b を押下し、適当なBufferを作成するか、空のファイルを開く

  2. C-\ を押下し、Input Method: と質問されるので、"japanese" と入力する

  3. ローマ時入力によって変換を実行する

この他の日本語変換エンジンとしては、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ファイルを確認してください。

7.2. Xubuntuデスクトップアプリを利用する方法

GUIを利用して設定を変更することができます。

この方法は利用しているデスクトップ環境に強く依存しますので、演習室のGnomeを利用する環境では利用できない点に注意してください。

左上のメニューからkeyboardアプリを起動します。

次のようにChange layout optionに変更したいキーを指定し、Compose keyに割り当てたいキーを指定します。

"Compose Key" に "Left Ctrl"を割り当てた場合は、期待どおりに動作しない場合が多いようなので、Right Ctrlを指定するようにしてください。

client.keyboard swapcapsctrl

8. トラブルシューティング

8.1. キーボードで記号が正しく入力できない

[記号が入力できず@になってしまうような場合には、キーボードの設定が日本語になっている可能性があります。

まず状態を元に戻すために次のようなコマンドを入力してください。

$ setxkbmap us

一時的にはこれで解決するはずです。

次にKeyboard設定アプリケーションの内容を確認します。

左上のメニューからKeybaordアプリケーションを選択して、Layoutタブを確認します。

ここでKeybaord layoutJapaneseになっていた場合は、まずEnglish(US)を追加し、次にJapaneseを削除します。

client.keyboard layout