ATOK X3 for linux with IIIMECF on CentOS 5
2011/03/15
CentOS5にATOK X3 for linuxを導入し、ターミナルウィンドウ内のEmacsにて利用するためのメモ。
まずATOKをインストールするのだけれど、JustSystemのサポートページにあるFedoracoreにインストールする方法をそのまま利用。
1. CD-ROMドライブに、ATOK X3 for LinuxのCD-ROMを入れます。
2. [Ctrl]+[Alt]+[F2]キーを押します。
仮想端末に切り替わります。
3. rootユーザーでログインします。
4. 次のコマンドを実行して、CD-ROMをマウントします。# mkdir /tmp/atokx3-cdrom # mount -r -t iso9660 /dev/cdrom /tmp/atokx3-cdrom5. 次のコマンドを実行して、ATOK X3 for Linuxをインストールします。
# cd /tmp/atokx3-cdrom # sh setupatok.sh6. ATOK X3 for Linuxの起動設定を行うため、次のスクリプトを実行します。
# /opt/atokx3/sample/setting_redhat5.sh7. 次のコマンドを実行して、CD-ROMをアンマウントします。
# cd / # umount /tmp/atokx3-cdrom # rmdir /tmp/atokx3-cdrom8. ログアウトします。
# exit9. [Ctrl]+[Alt]+[F7]キーを押します。
デスクトップログインの画面に戻ります。
10. 任意のユーザーで新しくログインします。
ATOKが使えるようになります。
次にIIIMECFをインストール。
# cd /tmp # wget http://www.meadowy.org/~kawabata/iiimecf/IIIMECF-0.75.tar.gz # tar zxvf IIIMECF-0.75.tar.gz # cd iiimecf # emacs -q --no-site-file -batch -l iiimcf-comp.el # sudo cp -rf lisp /usr/share/emacs/site-lisp/IIIMECF # chmod 755 /usr/share/emacs/site-lisp/IIIMECF # cd util # make # sudo make install
他のホストからも使用したいので接続にはTCPを使う。
# vi /etc/iiim/iiimd.xml.conf
- <-- + <listen type="tcp"> + <hostname>foo.example.com</hostname> + <port>9010</port> + </listen> <listen type="tcp"> <hostname>localhost</hostname> <port>9010</port> </listen> - --> : : <acl type="permit"> <hostname>127.0.0.1</hostname> </acl> + <acl type="permit"> + <hostname>192.168.0.21</hostname> + </acl> + <acl type="permit"> + <hostname>192.168.0.35</hostname> + </acl>
このままだと":: :辞書ファイルが設定されていません"なんてエラーがでる。X3がでてすぐだったため、Google様にも情報が少なくいったんあきらめていた。しかし時間もたったしと思って昨日探してみると、偉大なる先人がいらっしゃいました。
ここによるとどうやら必要なディレクトリがない様子。
# mkdir -p /var/lib/iiim/le/atokx3
これでiiimdをデーモン起動。
# iiimd
プロセスの生存と9010をlistenしているかどうか、念のため確認。
# ps auxw|grep iiimd # netstat -an |grep 9010
あとは.emacs.elにATOK用の設定をいれれば完了。
;; ATOK (setq emacs-ime "atokx") (if (or (equal emacs-ime "atokx") (equal emacs-ime "atok") ) (progn (require 'un-define) (setq coding-category-utf-8 'utf-8) (setq iiimcf-server-control-hostlist '("tcp:foo.example.com:9010")) (setq iiimcf-server-control-default-language "ja") (setq default-input-method 'iiim-server-control) (require 'iiimcf-sc) (define-key global-map "\C-\\" 'toggle-input-method) (setcar default-mode-line-format "") ) )
ここまでの道のりは長かった。ATOKが出たてのIIIMECF-0.73、IIIMECF-0.74と公開されていった直後に試したとき、"Args out of range: 0, 9"とエラーがでてTCP接続ができなかった。
辞書がないって言われるわ、TCP接続できないわとあきらめていたのだけれど、上記先人を見つけたときにふとIIIMECFのページを見ると、こう書かれていた。
なお 0.74にて、IIIMFサーバとTCP経由でうまく接続できないバグを修正しました。また、0.75にて、Emacs 22では、Mule-UCSを不要にしています。
な、なんだってー(AA略
これで無事使えそう。