Japanese Environment

I hereby describe methods to set up Japanese environment under Debian etch for your reference.

Each command is not explained here in detail. Please refer to the manpages.

<!> In order to setup and use not only Japanese environment but also multilingual environment smoothly, please select the locale with UTF-8 encoding.

日本語環境に必要なパッケージ

以下に日本語環境整備に必要とされるパーケージをリストします。

localeとは

LANG環境変数にあたえ言語環境を定義する、localeですがxx_YY.ZZZZと言う構造なっていて以下の意味があります。

日本の言語地域はja_JPで、これだけだとデフォールトの昔の ja_JP.eucJPの意味になります。 米国(ある意味で一番標準でサポートが良い)の言語地域はen_USで、これだけだとデフォールトの昔の en_US.ISO8859-1の意味になります。

ちなみに日本に御縁のあるエンコードシステムですが:

これらはうまく工夫されていて、ASCIIのコード範囲に収まる文字だったら上記どのエンコーディング体系でも同じです。

もしja_JP.UTF-8のlocaleをなんらかの理由でまだ作成設定してないなら

$ sudo dpkg-reconfigure locales

をして作成してください。これが無ければUTF-8の日本語環境は無理です。

言語関連の環境変数の設定

各種プログラムの挙動は言語関連の環境変数(LANGやLC_ALL等)への設定によって変わります。

ここで注意が必要なのは、一部のプログラムはPAM(Pluggable Authentication Modules)を使っているので、PAMでの環境変数設定が優先するということです。

etchの標準日本語インストール(2006年11月現在のRC1の前のバージョンの情報)では、日本語でのインストールを選ぶと/etc/environment/etc/defaults/localeというファイルともに

LANG="ja_JP.UTF-8"

という内容を定義していると思います。

通常X環境だと気にならないのですがクラシュしたりしてコンソールを使う際やsuを使うときにも日本語なので私は嫌いです。そういうときは文字化けのない一番確実な環境がいいので、私は日本語表示しない設定にコンソールではすべくこれらのファイルのLANG定義内容を:

LANG="en_US.UTF-8"

としています。(フレームバッファーコンソールやkon2をuim-fepemacsとでUTF-8環境下でうまく動かす方はこれは必要ないかもしれません。基本的に私の趣味の問題です。こうしなくても日本語環境はできます。)

ただこのままだとディスプレーマネージャーのgdmが英語です。X自体はこれでもLanguageでJapaneseを選べばちゃんと日本語でのメニュー等の表示に対応できます。

でも折角ですから私はディスプレーマネージャーのgdmを日本語メニューで立ち上げています。これにはPAMを使って対応します。 まず、/etc/pam.d/gdm/etc/pam.d/gdm-autologin(このファイルはお使いになっているディスプレーマネージャー次第ですが…)の中の

auth    required        pam_env.so read_env=1 envfile=/etc/default/locale

のlocale関連の環境変数を定義する行を

auth    required        pam_env.so read_env=1 envfile=/etc/default/locale-gdm

と直します。そして/etc/defaults/locale-gdmというファイルを作り、

LANG="ja_JP.UTF-8"

という内容にします。これでGDMは日本語になります。Xの中で使われる言語(LANGの値)はGDMのメニューから選べます。だからこうしておいてもXでは英語の環境も選べます。

Debianでの日本語入力設定

Debianでの日本語入力設定はim-switchを用いるのが簡単です。

そしてさらに複雑な各日本語入力ツールチェイン固有の設定は、各日本語入力ツールチェイン付随するGUIコンフィギュレーションツールを用いて設定していきましょう。このコンフィギュレーションツールは各日本語入力のツールバーの設定アイコンをたたくか、Gnomeのツールバーのメニューで「デスクトップ」->「設定」で表示されるメニューから該当する設定ツールアイコンをたたいて設定を行います。

まず、im-switchパッケージとuimscimのどちらかの日本語入力ツールチェインパッケージをインストールします。

詳しい設定のことは、/usr/share/doc/im-switch/README.Debian.gz/usr/share/doc/scim/README.Debian.gz/usr/share/doc/uim/README.Debian.gzに英語で書いてあります。以下に要点だけを日本語にします。

<!> im-switchコマンドは、コマンドがrootから実行されたかどうかで挙動が違います。

$ cd ~/.xinput.d
$ ls -l
lrwxrwxrwx 1 osamu osamu 28 2006-11-25 00:50 ja_JP -> /etc/X11/xinit/xinput.d/scim
$ cat ja_JP | sed 's/XIM_PROGRAM=.*/XIM_PROGRAM=/;s/XIM_ARGS=.*/XIM_ARGS=/'>ja.JP.file
$ mv ja.JP.file ja.JP

上記のUIMの設定の変化形として、セッションマネージャーに起動を登録する代わりに、shellから"uim-toolbar-gtk >/dev/null 2>dev/null &"としてツールバーを起動し、シャットダウン時に自動登録され再起動時に立ち上がるのにたよるのも方法してあります。(uim-ximが安定してからの遅延起動がうまくいくかどうかはまだテストせず。)

上記ではセッションマネージャーに頼らずツールバーが起動されます。再ログインするときなどにセッションマネージャーにもよってツールバーが起動され複数起動になる場合などは、Desktop->Preferences->Session でセッションマネージャーが"uim-toolbar-gtk" を(再)起動しないように登録するとよいです。

uim-fepパッケージを用いるとコンソールでの日本語入力ができます。(日本語表示のためのjfbtermは私は良く分かりません)そういった意味でUIMは魅力があります。

<!> im-switchによってスタートされる入力方法はlocaleの値に依存することは注意してください。

<!> 英語環境下ででも、im-switchによって日本語等の入力できる環境をスタートできます。en_US.UTF-8環境で日本語での入力は意外と便利です。

<!> SCIMがCJK以外のlocaleで起動するようにするには~/.scim/global/etc/scim/globalにあなたがSCIMを起動したいlocaleを

/SupportedUnicodeLocales = en_US.UTF-8,en_GB.UTF_8,fr_FR.UTF-8

等と列記します。

<!> GTK_IM_MODULE変数に新規のimmoduleメカニズムを設定して使わないとと考えるかもしれませんが、現状はGTK_IM_MODULE変数にximに設定するのが最も安定するようです。詳しくは/usr/share/doc/scim/README.Debian.gzに英語で書いてあります。

各プログラムとの連携

emacsの状況

$ XMODIFIERS=none emacs

です。このようにDebianのmenuを触るのは、/usr/share/doc/menu/htmlの手順にしたがって/etc/menuにカスタマイズした定義を置いてください。

vimの状況