ここでは,JustSystems 製日本語入力システム ATOK X3 for Linux のインストール・環境設定の手順を説明します. インストールする環境として,以下の2つを対象にしています.
Xubuntu はデスクトップ環境が Xfce であること以外は Ubuntu と一緒です. Ubuntu でも Xubuntu と同様の手順でインストールできると思います.
インストールは,公式サイトの情報をもとにおこないます.
インストールには,以下の二つのファイルが必要です.
atokx3.tar.gz が製品として販売されている ATOK の本体です.ダウンロード販売では,このファイルが配布されることになります. パッケージを購入した場合,インストールメディアに含まれているはずです.
アップデートモジュール atokx3up1.tar.gz は以下のページから無料でダウンロードできます.
インストールは,用意した tarball を展開してインストール用のスクリプトを実行することで行います.
まず,2つの tarball を展開します.
$ tar xvzf atokx3.tar.gz $ tar xvzf atokx3up1.tar.gz
次に,本体パッケージのディレクトリに入って,ATOK 本体をインストールします.
$ cd ATOKX3 Xubuntu 8.04 の場合 $ sudo bash ./setupatok_deb.sh Fedora 9 の場合 # sh ./setupatok.sh
アップデートモジュールのディレクトリに移って,モジュールをインストールします.
$ cd ../atokx3up1 Xubuntu 8.04 の場合 $ sudo bash ./setupatok_up1_deb.sh Fedora 9 の場合 # bash ./setupatok_up1.sh
起動設定を行います.
Xubuntu 8.04 の場合 $ sudo bash /opt/atokx3/sample/setting_debian4.sh Fedora 9 の場合 # /opt/atokx3/sample/setting_redhat5.sh
Xubuntu 8.04 では以上でインストール完了です. が,Fedora 9 の場合はこのままでは起動しません. 以下のページの情報をもとに,修正作業を行います.
/etc/X11/xinit/xinput.d/iiimf.conf の一部をコメントアウトします.
# gnome-im-settings-daemon >/dev/null
/opt/atokx3/bin/atokx3start.sh が起動時に実行されるようにします.GNOME なら [システム] - [設定] - [ユーザー向け] - [セッション] から設定を行えます.
以上でインストールは完了です.ログインしなおせば,自動的に ATOK が起動するはずです.
ここでは,以下の二つの点について設定を変更する方法を説明します.
標準の設定では Ctrl+Space が日本語入力 ON/OFF のトリガーになっています. Emacs と衝突する場合,Ctrl+Space をトリガーキーから削除したほうが良いでしょう.
ATOK 本体パッケージに同梱されている iiimf-properties というツールを利用すると,上の二つを含む様々な設定を GUI で行うことができます.
iiimf-properties のインストールは,本体パッケージのディレクトリから以下の手順で行えます.
$ cd ATOKX3 # 本体パッケージのディレクトリへ移動する Xubuntu 8.04 の場合 $ sudo dpkg -i bin/deb/IIIMF/iiimf-properties_trunk_r3104-js3_i386.deb Fedora 9 の場合 # rpm -Uvh bin/rpm/IIIMF/iiimf-properties-trunk_r3104-js3.i386.rpm
iiimf-properties の起動は以下のコマンドで行います.
$ iiim-properties # コマンドは iiimf-properties ではない
ただ iiimf-properties には,放っておくと設定ファイル ~/.gconf/desktop/input_methods/%gconf.xml が肥大化して動作が不安定になるという不具合があり,利用するのにちょっとしたコツが要ります. iiimf-properties の問題点と解決方法については,下のサイトで説明されています.
iiimf-properties の問題は,ユーザーごとの設定ファイル ~/.gconf/desktop/input_methods/%gconf.xml が肥大化することです. 解決策として,その設定ファイルを利用しないで,システム共通の設定ファイル /etc/iiim/client.xml を使うようにします. ただ,そうすると設定の変更に GUI を利用できなくなってしまいます. ので,設定の変更は /etc/iiim/client を直接エディタで編集して行います.
まず,ユーザー設定ファイル %gconf.xml を削除し,該当ディレクトリを書き込み不可にします.
$ rm ~/.gconf/desktop/input_methods/%gconf.xml $ chmod -w ~/.gconf/desktop/input_methods/
そして,root 権限でシステム設定ファイル /etc/iiim/client.xml を編集します.
ステータス表示を消すには,21行目の <entry props="status enabled"> を False にします.
<entry props="status enabled">False</entry>
日本語入力 ON/OFF のキーを変更するには,61行目の <entry props="trigger keys"> を編集します.
私の場合は,以下のように設定して 全角/半角キー のみにしています.
<entry props="trigger keys">Zenkaku_Hankaku</entry>
以上で,安定した動作で iiimf-properties が機能するはずです.
iiimf-properties を利用しなくても,上の二つの設定を行う方法がそれぞれ用意されています.
まず,ステータス表示を消す方法については,JustSystems の公式 FAQ に回答があります.
この方法では,JustSystems が用意したプログラム iiimf-status-hide を使って,ステータスを非表示にします. 詳細は,上のページを参考にしてください.
また,日本語入力 ON/OFF トリガーキーの編集については,Ctrl+Space を削除するだけなら簡単な方法があります. /etc/iiim/js_triggerkeys.conf を以下のように編集してください.
Shift+space yes
ただこれは,上のコードから分かるようにトリガーキーを Ctrl+Space から Shift+Space に移すだけです. Shift+Space が他の用途と衝突しない場合にのみ利用できます.
Emacs から ATOK を使う場合,デフォルトの状態ではウィンドウシステムを経由して利用することになります. ただどうせなら,Anthy に対する anthy.el のように,Emacsで直接使いましょう.
ATOK X3 は IIIMF という入力/変換フレームワークの変換サーバとして動いています. その変換クライアントである IIIMECF を Emacs に導入すれば,シームレスに ATOK が使えるようになります.
IIIMECF のダウンロードは公式サイトから行えます. これを書いた 2008-09-30 では IIIMECF-0.75.tar.gz が最新でした.
ファイルをダウンロードしてきたら,展開して,elisp をバイトコンパイルして,load-path の通ったディレクトリに置きます.
$ tar xvzf IIIMECF-0.75.tar.gz
$ cd iiimecf
$ emacs -q --no-site-file -batch -l iiimcf-comp.el
$ cp lisp/* ${どこか load-path の通ったところ}
これで IIIMECF を利用することができます. ただ,もしキーバインドを変更したい場合は,以下で説明するようにコードを編集してからバイトコンパイルを行ってください.
IIIMECF のキーバインドの変更方法については様々なサイトで解説されています. 特に下のページが参考になります.
私の場合は,この情報をもとに次のように編集しました.
$ 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 ----
lisp/iiimcf.el の iiimcf-keycode-spec-alist の最初のほうに (アルファベット番号 キー番号 65535) のリストを追加すれば "C-アルファベット" を "キー" にバインドできます.
アルファベット番号は A=1, B=2, ... となっていて,キー番号は編集部分の下のほうに書いてあります.
上の設定では,次のようなキーバインドを実現しています.
| C-k/C-l | 文節区切り収縮/伸張 |
|---|---|
| C-i/C-o | 同上 |
| C-g | 変換キャンセル |
| C-p | 前候補 |
| C-n | 次候補グループ |
| C-b/C-f | 文節前移動/文節後移動 |
C-b/C-f は文節移動にしてありますが,デフォルトの ATOK 設定だと Emacs から利用できるキーで文節移動を操作できません.私の場合,ATOK 側で F2/F3 を文節移動に割り振っておいて,Emacs 側で C-b = F2, C-f = F3 となるようにしてあります.
.emacs の設定の仕方は,IIIMECF の 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)