ATOK for LinuxをDebian sargeにインストールしたい。まだ途中。とりあえず、emacsでだけは使えるようになった。
2chでKDEと相性悪いというコメントも見付けた。KDEなのがまずいんかなー。
まず、LinuxにおけるFEPの仕組みがよくわかっていない。クライアントサーバー方式であることぐらいは聞いたことがあったのだけれど。まぁ、それは合理的な実装法だやね。
まずは情報収集。
- 日本語環境構築の Tips や FAQ だとか @ Debian GNU/Linux スレッドテンプレ
- fdiary IIIMF
- ATOK X @ Debian UnstableでGO!
- [Gentoo][Atok] Atok for Linux
えっと、
- 普及している古い方式であるX Imput Method (XIM)っていうのがあって、それに対してXへの依存性をなくした新しい方式のIIIMFっていうのがあるらしい。
- ATOK for LinuxはIIIMFを利用。
- ATOK for Linuxは公式にはDebianをサポートしてないけれど、atokx2パッケージを使えばなんとか入れられるらしい。
- Debianだと、IIIMFの実装であるhttがパッケージ化されてて、この辺はatokx2から依存関係で勝手に入る。「提案」にあるiiimgcfとiiimecfも入れるが吉。
httから各種環境へのアダプタがiiim*cfらしい。iiimgcfはGTKに、iiimfecfはemacsにIIIMFによる変換機能を提供する。iiimf-htt-xbeパッケージはIIIMF-XIMブリッジで、これによって他のXIMクライアントにもIIIMFによる変換を提供できる、筈。
とりあえず、
- ATOKのCD-ROMを入れてマウント
- atokx2パッケージをインストール
- iiimgcfとiiimecfも入れる
この段階で、~/.emacsに次のように書いたらemacsではATOKによる変換が効いた。 Debian UnstableでGO!さんのところの設定をちょっと変えたもの。
;
; For ATOK X
(setq emacs-ime "atokx2")
(if (or (equal emacs-ime "atokx2")
(equal emacs-ime "atokx")
(equal emacs-ime "atok")
)
(progn
(require 'un-define)
(setq coding-category-utf-8 'utf-8)
(setq iiimcf-server-control-hostlist '("localhost"))
(setq iiimcf-server-control-default-language "ja")
(setq current-input-method 'iiim-server-control)
(setq default-input-method 'iiim-server-control)
(require 'iiimcf-sc)
(define-key global-map "\C-o" 'toggle-input-method)
;(define-key global-map "\C-1" 'toggle-input-method)
(setcar default-mode-line-format "")
)
)
で、参考にしたサイトを見るには、.xsessionに
if [ -x /opt/atokx2/bin/atokx2_client.sh ]; then
. /opt/atokx2/bin/atokx2_client.sh
fi
を書くとか、
export XIM=htt
を書くとか、
export XMODIFIERS="@im=htt"
を書くとか書いてあって、こういうのを設定すればXIM経由でXその他のXアプリケーションにも使えるようになる筈なのだけれど、うまくいかない。これをやると、そもそもCtrl+SPでもShift+SPでも日本語入力ができなくなる。emacsではできてるんだから、htt - ATOKはOKなわけだ。X - xbeか、xbe - httだけれど、Shift+SPが入力方式切替えと認識されずに空白文字が入力されてしまうあたり、なんとなくX - xbeがあやしい。と、すると完全に.xsessionあたりの設定がうまくいってないわけだ。
調査は続く。
コメント
# gtk-query-immodules-2.0 > /etc/gtk2.0/gtk.immodules
で、
# export GTK_IM_MODULE="iiim"
したら、GTKアプリケーションはATOKが使えた。あとは、QT系か。