Xで日本語を使う-Kterm・kinput2-
環境変数
大前提になるのが環境変数の設定です。私はtcshを利用しているので、環境変数"LANG"を"ja_JP.EUC"に設定します。
setenv LANG ja_JP.EUC
これは.tcshrcに記述しておくと、ログインするとき(正確にはシェルを起動するとき)に勝手に読み込んでくれます。(私の.tcshrc)
注:FreeBSD4.6Releaseではja_JP.EUCも使えますが、今後のためにja_JP.eucJPにしておくことをお勧めします。現在の開発中の5-CurrentからのMFCです。
KTermの設定
例によってportsからインストールをします。/usr/ports/japanese/ktermですね。kterm16cというportsもありますが、これでもカラー表示できます。setenv TERM kterm-colorを指定すればカラーで表示してくれます(/etc/termcapに設定があります)。しかし、kterm16cに一緒にくっついてくるtermcapからktermcを設定したほうが内容的にいいと思っているので/etc/termcapに以下の内容を付け加えて、私の.tcshrcにsetenvTERM ktermcを設定してあります。
ktermc|kanji terminal with 16 colors:\
:op=\E[m:pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:\
:mb=\E[5m:md=\E[1m:mr=\E[7m:mh=\E[2m:me=\E[m:\
:tc=kterm:
また、alias ls ls -FGも設定してあります(私の.tcshrc)。ktermはkterm -sb -km eucで起動するとスクロールバーがついてEUC-JPで起動してくれます。
kinput2
私はkinput2をcannaと一緒に使うので、/usrports/japanese/kinput2-cannaをmakeします。一緒にCannaもインストールしてくれます。私はXはgdm(xdmの代用となるディスプレイマネージャ)で利用しており、ログイン時にgdmが起動スクリプト(セッションと呼んでいる)を選んでくれます。gnomeに特化したセッションファイルもあるのですが、ちょっと気持ち悪いので(害はないですが)/etc/X11/xdm/Xsessionを/usr/X11/etc/gdm/Xsessionsにコピーして、これをスタートアップに使っています。これはホームディレクトリの.xsessionがXのスタート時に読み込まれます。実は私は.xinitrcをシンボリックリンクさせています。
スタートアップ時にkinput2が起動されるように.xsessionに書き込みます。
kinput2 &
簡単ですね(私の.xsession)。次にkterm上で日本語入力をon/offする設定を記述しましょう。先ほどの.xsessionファイルではホームディレクトリにある.Xresourcesと.Xmodmapを読み込むようになっています。.Xresourceには各種X上のアプリケーションの設定を書きこみ、.Xmodmapにはキー配列を書くのですが、私は.Xmodmapは使っていません。kterm上でShift+スペースで日本語のon/offを設定するのに以下の記述を.Xresourceに加えます。
Kterm*VT100*Translations: #override \
Shiftspace: begin-conversion(_JAPANESE_CONVERSION)
KTerm*inputMethod: kinput2
ここにある設定はリソースと呼ばれ、Xアプリケーションの内部で読み込まれます。こういったリソース名(コロンの左側)を知るにはeditresというコマンドを使います。
注:上のリンクによる.xsessionファイルでは、
kinput2 &
sleep 3;
gnome-session
というようにsleepコマンドが挿入されています。これはXFree86-4.2における障害を避けるためです。詳しくはgnome-usersメイリングリストに私が質問をしたhttp://mail.gnome.gr.jp/ml/gnome-users/200204/msg00005.htmlからのスレッドをご参照ください。
