[ 言語選択: 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"を選択し、Anthy(連文節変換)かMozc(Google日本語入力互換)のいずれかを選択してください。

client.ibus pref engine selecter

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

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

client.ibus pref delete english

5.4.4. 設定後の日本語入力方法の切り替え

設定を変更した直後はまだ日本語入力が有効になっていません。

早い方法はログアウトしてから ※ 再起動までは不要です

5.4.5. 日本語切り替えの裏側

ログアウトせずに日本語入力を有効にするためには、環境変数を適切に変更した上でプロセスを再起動する必要があります。

主な環境変数は以下のとおりです。

export CLUTTER_IM_MODULE=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus

これらは Language Support メニューの設定を元に自動的に設定されるため、ログインをやり直すことで親プロセスに設定され、子プロセスに引き継がれることで意識せずに日本語入力が各アプリケーションで可能になります。

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と同様の手順で利用が可能です。