Xubuntu に ATOK X3 for Linux を導入した
ATOK X3 for Linux を買った.
Anthy の馬鹿さ加減にイラっとして,気づいたら公式の販売サイトでポチっていた.すぐにでもインストールしたかったので,ダウンロード版.勢いの買い物だったけれど,後悔はしていない.
以下,導入手順をまとめておく.emacs 関連が少し面倒くさい.そして,まだ解決していない.
インストール
自分の環境は Xubuntu 8.04.デスクトップ環境が Xfce なだけで,普通の Ubuntu と同じようにインストールできた.
インストールの手順は,公式サイトの [042708]Ubuntu 8.04 LTS 日本語ローカライズド Desktopでのインストール方法 に書いてある通り.ATOK 本体のパッケージと,[042459]ATOK X3 for Linux アップデートモジュール のアップデートモジュール,二つの tarball を同じディレクトリにダウンロードしてきた状態から始める.
# まず,それぞれのパッケージを解凍する. $ tar xvzf atokx3.tar.gz $ tar xvzf atokx3up1.tar.gz # 本体パッケージのディレクトリに入って,ATOK をインストールする. $ cd ATOKX3 $ sudo bash ./setupatok_deb.sh # 次に,ディレクトリを移ってアップデートモジュールを適用する $ cd ../atokx3up1 $ sudo bash ./setupatok_up1_deb.sh # 最後に,起動設定を行う $ sudo bash /opt/atokx3/sample/setting_debian4.sh
これで,ログインしなおせば自動的にATOKが起動しているはず.
設定の変更
- Ctrl+Space で日本語入力ON/OFFしないようにする
- ウィンドウの左下にぶら下がるステータス表示を消す
この設定をするために iiimf-properties というツールを使う.先ほどの ATOK 本体パッケージに同梱されているので,そこからインストールする.
# iiimf-properties のインストール $ cd ATOKX3 $ sudo dpkg -i bin/deb/IIIMF/iiimf-properties_trunk_r3104-js3_i386.deb # 起動 (コマンド名は iiim-properties) $ iiim-properties
出てきたウィンドウで,
- [一般] - [入力方式のステータスを表示する] のチェックを外す
- [トリガーキー] - [Ctrl+space] を削除
これでOK
emacs から使う (IIIMECF の導入)
Linux における ATOK は IIIMF という入力/変換フレームワークの変換サーバとして動いているので,その変換クライアントである IIIMECF を emacs に入れてやれば,シームレスに ATOK が使えるようになる.
まずは,パッケージをダウンロードしてくる.自分は,subversion で取得してみた.
$ svn co http://svn.openi18n.org:8081/repos/im-sdk/trunk/iiimecf iiimecf
で,あとは elisp ファイルをバイトコンパイルして, load-path が通っているところにコピーすればよい.ただ,キーバインドを変えたい場合,その前にソースを編集する必要がある.iiimecf/lisp/iiimcf.el というファイル.http://genmei.itline.jp/~svx/diary/?date=20071220 を参考に,自分なりに苦心した結果がこれ.
$ diff -c lisp/iiimcf.el lisp/iiimcf.el.orig
*** lisp/iiimcf.el 2008-09-30 07:05:53.000000000 +0900 --- lisp/iiimcf.el.orig 2008-09-30 04:31:40.000000000 +0900 *************** *** 284,298 **** (defvar iiimcf-keycode-spec-alist `((13 10 0) - (11 37 65535) ; C-k - (12 39 65535) ; C-l - (9 37 65535) ; C-i - (15 39 65535) ; C-o - (7 27 65535) ; C-g - (16 38 65535) ; C-p - (14 28 65535) ; C-n - (2 113 65535) ; C-b - (6 114 65535) ; C-f (32 32) ,@(mapcar #'(lambda (x) (list x x 0)) (iiimcf-numseq 1 31)) --- 284,289 ----
iiimcf-keycode-spec-alist の最初のほうに (アルファベット番号 キー番号 65535) のリストを追加すれば "C-アルファベット" を "キー" にバインドできる.キー番号はその下のほうに書いてある.上の設定では,次のようなキーバインドを実現している.
- C-k/C-l 文節区切り収縮/伸張 - C-i/C-o 同上 - C-g 変換キャンセル - C-p 前候補 - C-n 次候補グループ - C-b/C-f 文節前移動/文節後移動
C-b/C-f に関しては,デフォルトの設定だと文節移動を emacs から操作できなかったので,ATOK 側で F2/F3 を文節移動に割り振っておいて,emacs 側で C-b = F2, C-f = F3 となるようにした.
以上のソースの編集が終わったら,バイトコンパイルして elisp ファイルを load-path が通っているところにコピーする.
$ emacs -q --no-site-file -batch -l iiimcf-comp.el $ cp lisp/*.el lisp/*.elc (load-path ディレクトリ)
ちなみに,自分の .emacs の設定は次の通り.設定の仕方の詳細は,iiimcf の README.ja に書いてある.
(setq iiimcf-server-control-hostlist (list (concat "/tmp/.iiim-" (user-login-name) "/:0.0"))) (when (and (= 0 (shell-command (concat "netstat --unix -l | grep -q " (car iiimcf-server-control-hostlist)))) (require 'iiimcf-sc nil t)) (setq iiimcf-server-control-default-language "ja") (setq iiimcf-server-control-default-input-method "atokx3") (setq default-input-method 'iiim-server-control)) (global-set-key "\C-o" 'toggle-input-method)
解決していない問題
emacs で Ctrl+Space を押すと,ATOK の日本語入力が ON になってしまう.ただ,ON の状態でもう一回押しても OFF にならないので,ON/OFF トグルに割り当てられているわけではないと思う.emacs でそんな設定はしていないので,emacs に入力が届く前にどこかが横取りしているのだと思うのだけれど...誰のせいだかわからない.
追記
設定を少し変えました --> ATOK の設定を少し変えた - 昨日と今日とそれから明日