読者です 読者をやめる 読者になる 読者になる

ATOK X3 を VineSeed/i386, VineSeed/x86_64 で使ってみた

Vine Linux Emacs
  • [追記:2009/07/07]さらに x86_64 について追記しました!
  • [追記:2009/07/05]x86_64 についても書き加えました!

現行の VineSeed (Vine Linux 5.0 (+VineSeed) (Lafite))/i386, x86_64 に 日本語入力システム ATOK X3 for Linux をインストールしてみました.

私は Wnn8 ユーザですが,Emacs 上で逆変換リージョン(wnn7-gyaku-henkan-region)ができるので,Wnn8 を愛用しています.

ATOK にも再変換があるようなので,IIIMF の Emacs クライアント IIIMECFから「再変換リージョン」みたいなことができれば,幸せこの上ないです.そうしたら,たぶん ATOK X3 に乗り換えます.

ATOK X3 for Linux

ATOK X3 for Linux

Wnn8 for Linux/BSD

Wnn8 for Linux/BSD

インストール

CD 突っ込んで,とりあえず固めておきます。

$ cd /media
$ tar jcvf /some/where/ATOKX3.tar.bz2 ATOKX3
$ du -hs /some/where/ATOKX3.tar.bz2
154M	/some/where/ATOKX3.tar.bz2

CD 抜いて,サポート対象外の Vine Linux に覚悟を決めてインストールを開始します。

$ cd /some/where
$ tar jxf ATOKX3.tar.bz2
$ cd ATOKX3
$ sudo bash setupatok.sh
仕方ないからライセンスに同意してあげる。yes + [Enter]
/etc/gtk-2.0/i386/gtk.immodules [Enter]
/etc/gtk-2.0/x86_64/gtk.immodules [Enter]

x86_64 の場合は、一部の compat32 ライブラリを追加します。

$ sudo apt-get install compat32-libcanberra-gtk2 compat32-pam compat32-libXt compat32-gtk2-engines

x86_64 の場合は、3 つに答えてあげる:

Input path of gtk-query-immodules-2.0 for 64bit application:/usr/bin/gtk-query-immodules-2.0
Input path of gtk.immodules for 32bit application:/etc/gtk-2.0/i386/gtk.immodules
Input path of gtk.immodules for 64bit application:/etc/gtk-2.0/x86_64/gtk.immodules

compa32-pam は /usr/bin/iiimx が 32bit バイナリのために必要です。これを入れていないと、setime atokx3 としたときに、無限ループに陥ります。ちなみに iiimf-x-trunk_r3104-js1.i386 だけ x86_64 がないです。

$ rpm -qa --queryformat "%{name}-%{version}-%{release}.%{arch}\n" | grep iiimf
iiimf-client-lib-64-trunk_r3104-js1.x86_64
iiimf-client-lib-trunk_r3104-js1.i386
iiimf-server-trunk_r3104-js1.i386
iiimf-protocol-lib-64-trunk_r3104-js1.x86_64
iiimf-protocol-lib-trunk_r3104-js1.i386
iiimf-gtk-64-trunk_r3104-js1.x86_64
iiimf-gtk-trunk_r3104-js1.i386
iiimf-x-trunk_r3104-js1.i386

compat32-gtk2-engines は以下のワーニングに対処します。Adobe Reader でも Gnome のテーマエンジンがないと言われるのと同じ不具合です。

(jp.co.justsystem.atokx3.BasicAux:12533): Gtk-WARNING **: module_path にはテーマ・エンジンがありません: "clearlooks",
に対処します

(acroread:17166): Gtk-WARNING **: module_path にはテーマ・エンジンがありません: "clearlooks",

x86_64 の場合は、さらに gtk.immodules を修正します。手っ取り早いのは、compat32-gtk2 を再インストールする方法です。

$ sudo apt-get reinstall compat32-gtk2

これは、ATOK X3 のインストーラーによって、/etc/gtk-2.0/i386/gtk.immodules に 64bit なパス /usr/lib64 が上書きされるため、実際には以下のような感じで、32 bit パスにはき直させる作業をします。これによって、acroread の入力フォームでも日本語入力モードへ切り替えることができます*1

$ su
# gtk-query-immodules-2.0-32 > /etc/gtk-2.0/i386/gtk.immodules

後は,ATOK X3 を使用したいユーザは,各ユーザそれぞれで,

$ setime atokx3

を実行します。再ログイン時以降に ATOK X3 が使える状態になります。

おっと,Vine Linux の場合は,これでおしまいですよ!お間違えなく!

えっ?「Vine LinuxRedHat 系だから,sample 以下の RedHat のなんかのスクリプトを実行しないでもいいのか?」って?

まず,断っておきますけどね,もうとっくの昔に Vine LinuxRedHat 系じゃなくなってますからねっ!

えっ?「rpm を使ってるから,RedHat 系じゃないのか?」って?

いや,だから,Debian に浮気したからとかそういうのじゃなくて,(ry 論争は果てしなく続く….

ATOK X3 for Linux アップデートモジュール

Wnn8 for Linux/BSD と違って,きちんと定期的にアップデートモジュールが提供されています!

Wnn8 なんて,未だに FreeBSD 対応版が出ていませんから www

いや,FreeBSD に無理やり Linux の 32bit ライブラリをぶっ込んで,あの linux エミュレーションとかなんかで (ry 果てしない論争は続く…

すみません,取り乱してしまいました m(_ _)m

気を取り直しまして,[042459]ATOK X3 for Linux アップデートモジュール から atokx3up2.tar.gz をダウンロードします.

あとは,指示通りに実行するだけ!

現時点では atokx3up2.tar.gz が出ていますが,今後さらに更新されるかもしれません.ちなみに以前 atokx3up1.tar.gz というのが出ていましたが,これを当てる必要はありません.

左下のなんか出ているやつ,消えないの?

あれですよ,アレ!むっかしから,ええ,もう,ずーっと付き物ですよね,ステータス表示のアレです.

ちゃんとそういう要求にも答えてくれていまして,[037494]アプリケーションウィンドウや入力カーソルの下に表示される[ATOK]を非表示にしたい(参考情報) から iiimf_status_hide.gz をダウンロードします.

(本当はどこに置いてもよいのですが、サポートページの説明通りに心身ともに素直になって心があらわれるようになったら、)iiimf_status_hide.gz を /opt/atokx3/sample へコピーして,解凍して,実行できるようにしておきます(でも、やっぱり /opt/atokx3/bin に置こう)。

$ cd /opt/atokx3/bin
$ sudo cp /some/where/iiimf_status_hide.gz .
$ gunzip iiimf_status_hide.gz
$ sudo chmod 755 iiimf_status_hide

おっと,Vine Linux の場合はここまでですよ.あとはすでに仕込んでいますからっ!

と言えるようになるまでのしばらくの間は,以下のパッチ (imelib-atokx3.patch) を適応しておく www

--- imelib.atokx3_iiimf_status_hide	2009-04-28 16:42:09.000000000 +0900
+++ imelib	2009-05-17 13:37:14.000000000 +0900
@@ -771,6 +771,10 @@ export JS_FEEDBACK_CONVERT=t
 export GTK_IM_MODULE=iiim
 export QT_IM_MODULE=xim
 
+if [ -x /opt/atokx3/sample/iiimf_status_hide ]; then
+    /opt/atokx3/sample/iiimf_status_hide
+fi
+
 if [ -z "`ps xc | grep iiimx`" -a -n "$DISPLAY" ]; then
 
    if [ -f ${HOME}/.Xdefaults ]; then

以上までで適応したパッチやアップデートモジュールなどを,ATOKX3 ディレクトリ以下にコピーしておいて,再び ATOKX3 ディレクトリごと固めておくと,次に同じことをやるときに何かと便利です.

$ tar jcvf ATOKX3-rpm-20090517.tar.bz2 ATOKX3 --exclude '*deb' --exclude '*/tarball/*'

Ctrl+Space で日本語入力の切り替えが気にくわないんですけど!

[037232][Shift]+[スペース]キーでATOKのオン/オフを切り替えたい ということで、sed でざっくりと片付けます。

#!/bin/bash -x 
sed -i -e "s/\(Shift+space\)[[:blank:]]no/\1 yes/" /etc/iiim/js_triggerkeys.conf
exit 0

IIIMECF

VineSeedEmacs (ここでは Emacs 23 をさす)では、$ setime atokx3 を実行していていたら、デフォルトで IIIMECF を使うように設定されている(自動的に設定済みの vine-default-IIIMECF.el を読みます)ので、何もしなくても構いません。

ただし、十字キーを使わないといけないキーバンドが非常に嫌だったので、神田さんの http://okutomi-lab.ctrl.titech.ac.jp/~tkanda/atok_x3_install.htm(元の参考は http://genmei.itline.jp/~svx/diary/?date=20071220 の日記から)を参考にしました。

私は、直接 IIIMECF のソースコードをいじるのではなくて、setq で付け足してカスタマイズすることにしました。以下では、vine-default-IIIMECF.el の下で、さらに設定を付け足しています。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; IIIMECF の追加設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(if (or (equal emacs-ime "iiimecf")
	(equal emacs-ime "IIIMECF")
	(equal emacs-ime "atokx")
        (equal emacs-ime "atokx2")
        (equal emacs-ime "atokx3"))
    (progn
      ;;; キーバインドの追加
      ;; from http://okutomi-lab.ctrl.titech.ac.jp/~tkanda/atok_x3_install.htm
      ;; http://genmei.itline.jp/~svx/diary/?date=20071220
      ;; C-k/C-l	文節区切り収縮/伸張
      ;; C-i/C-o	同上
      ;; C-g	変換キャンセル
      ;; C-p	前候補
      ;; C-n	次候補グループ
      ;; C-b/C-f	文節前移動/文節後移動
      ;; C-b/C-f は文節移動にしてありますが,
      ;; ただし、ATOK 側で F2/F3 を文節移動に割り振っておく。
      (setq iiimcf-keycode-spec-alist
	    (append
	     '(
	       ;; 
	       (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
	       ;; 
	       )
	     iiimcf-keycode-spec-alist))
      )
  )

しかし、相変わらず wnn7egg の「逆変換リージョン」に相当する「再変換リージョン」が IIIMECF でできないと、ちょっと仕事で使えないな、ATOK X3!

独り言

本当に ATOK X3 で再変換をどうするか調べないといけないのですが、もし ATOK X3 で再変換ができなかったらどうしよう?

ATOK X3 には手書きパレットもないし、再変換もできないんじゃ、正直買った意味がないです。

結局、私にとっては、Wnn8 - wnn8le + ほのかたん(scim-wnn) + ともえたん(scim-tomoe) + wnn7egg が一番使いやすいことになります。

参考:ATOK X3 for Linux (with iiimecf) vs. Wnn8 for Linux (with wnn7egg) on GNU Emacs 22 ([id:munepi:20081018:1224339999])

*1:中村さん、報告をどうもありがとうございます。