ATOK12 SE/R.1

Last modified: Fri Jul 29 08:59:19 JST 2005

ATOK17 相当の ATOK for Linux を予約した記念に、五年ぐらい前に買った TurboLinux 4.0 に同梱されていた ATOK12 SE/R.1 を Plamo Linux 4.0 に入れてみました。

R.2 や R.3 の場合はここまで苦労しなくても簡単に使えるかもしれません。

(そんな人はいないと思うけど一応) ここに書いていることについて JustSystem や TurboLinux に問い合わせないように。サポート対象外ですよ。

一ヶ月ぐらい使いましたが結構賢いのでお蔵入りになっている方は使ってみてはいかがでしょうか。

現在は ATOK for Linux が届いたのでディスク内に眠っております。(共存可)

RPM を変換してインストール

最後にファイルを削除しているのは Plamo Linux には不要なファイルがインストールされるから。

$ mv ATOK12SE-1-15.i386.rpm atokse-12.rpm
$ rpm2tgz atokse-12.rpm
# installpkg atokse-12.rpm
# rm /etc/rc.d/init.d/atok12se

/etc/rc.d/rc.local を編集してシステム起動時に起動するようにする

以下の内容を /etc/rc.d/rc.local の末尾に追加。

# ATOK12SE
if [ -f /usr/bin/atok12x ]; then
  echo -n "Starting ATOK12SE"
  /usr/bin/atok12x -D -d /var/dict/atok12 > /dev/null 2>&1
  echo "."
fi

/etc/services の編集

以下の記述を追加。

atok12x        6800/tcp

個人設定ファイルを用意する

動作の設定をする二つのファイルをホームディレクトリにコピーする。

$ cp /etc/skel/.atok12.conf ~/
$ cp /etc/skel/.atok12.sty ~/

これを忘れるとkinput2x が ATOK サーバに上手く接続できないそうです。

個人用辞書の設定

デフォルトのままだと /var/dict/atok12 以下の atok12u*.dic を複数のユーザで共有してしまうのでユーザー別に使えるように設定を変更する。(hoge というユーザの場合)

# mkdir /var/dict/atok12/hoge
# cp /var/dict/atok12/atok12u?.dic /var/dict/atok12/hoge

辞書を用意したら設定ファイル ~/.atok12.conf の設定を変更する。

ユーザー辞書=atok12u1.dic

上記のような行にパスを追加します。

ユーザー辞書=/var/dict/atok12/hoge/atok12u1.dic

u1 から u4 まで四行あるので忘れずに変更しましょう。

kinput2x を最新版に作り直す

ATOK12 SE/R.1 付属の kinput2x でも動きますが、使い勝手が最悪なので最新版を作ります。

まず atoklib.tar.gz に含まれるファイルを以下のように置きます。

$ ls /usr/include/atok
 atok12if.h atok12net.h atok_typ.h atokce.h key_def.h

$ ls /var/lib/atok
 libatok12n.a libatok12util.a

atoklib が用意できたらコンパイル開始。

$ tar zxvf kinput2-v3.1.tar.gz
$ cd kinput2-v3.1/
$ zcat kinput2-v3.1-atok12se-glibc23.patch.gz | patch -p1
$ xmkmf
$ make Makefiles
$ make depend
$ make

make install するとシステムにすでに入っている kinput2 に上書きしてしまうので名前を変えてコピーします。

# cp cmd/kinput2 /usr/X11R6/bin/kinput2x

(システムに kinput2 が入っていないならば make install しても大丈夫なはず)

kinput2x の起動 / 設定オプション

kinput2x が用意できたら試しに起動してみます。

kinput2x は kinput2 の改造版なので Canna や FreeWnn などで入力するために kinput2 がすでに起動している場合は機能がぶつかり合って大変な事になります。

日本語入力ソフトを選択する事ができるディストリビューション場合は日本語入力ソフトを起動しない設定にした後で kinput2x を起動しましょう。

密かに仕様変更がなされているようで、古い文献に掲載されているオプションは廃止されていたりするみたいです。(仮名入力とか)

以下のように起動すると動作しました。

$ kinput2x -atok -atokserver localhost -xim &

-atokserver を -as に略すこともできます。

無事に kinput2x を起動する事ができたら環境変数を設定しましょう。

$ export XMODIFIERS="@im=kinput2"

そして kterm でも起動してみてテスト。

$ kterm -xim

Shift + Space で入力切り替え。変換できたら成功。

kinput2x に ATOK サーバーに繋がらないと怒られる

その 1

そもそもちゃんと ATOK サーバプログラム atok12x が起動していますか?

$ ps ax

起動していない場合は以下のようにして起動させます。

# /usr/bin/atok12x -D -d /var/dict/atok12

その 2

設定ファイルがホームディレクトリに存在しない場合も接続できないので注意です。

Plamo 4.0 の kinput2 スクリプトで kinput2x を起動する

上記までの手順で手動で kinput2x を起動できますが、いちいち手動で起動するのは面倒です。

そこで ~/.xinitrc や ~/.xsession などを編集して kinput2x が自動で起動するように編集できますが、今回は使っている Plamo Linux の流儀に従ってみました。

kinput2(kinput2x) のファイル名は kinput2-atok12se に変更すること。

# cd /usr/X11R6/bin
# mv kinput2x kinput2-atok12se
# cp kinput2 kinput2.orig
# zcat plamo-kinput2-atok12se.patch.gz | patch -p1

上記例では万が一のことを考えて上記ではオリジナルのファイルを kinput2.orig としてバックアップしています。

~/.kinput2rc は以下のように編集すると kinput2-atok12se が起動されるようになる。

SERVER=atok12se
OPTS="-atok -atokserver localhost -xim"

atok12prx が core を吐いて死ぬときの対処

atok12 が付属していたディストリビューションの glibc パッケージからからロケール ja_JP.eucJP/ をもらってきて /usr/share/i18n/ に置く。

/usr/share/i18n/ にすでに ja_JP.eucJP/ がある場合は上書きしたらだめ。(あたりまえ)

抜き出したものを tar.gz で固めました。

これで動くようになるかも。

atok12prx の色やフォントを設定する

~/.Xdefaults もしくは ~/.Xresources に以下のような内容を書く。

atok12prx*fontSet: -after xtt-fs gothic-medium-r-normal--14-*-*-*-c-*-iso8859-1, \
-after xtt-fs gothic-medium-r-normal--14-*-*-*-c-*-jisx0208.1983-0
atok12prx*background: #e6e6e6
atok12prx*foreground: #000000

単語登録・削除

単語登録は Ctrl + F7、削除は変換候補一覧から削除したい単語をを選択してから Ctrl + Delete。

キー操作は Windows 版の ATOK と同じなのでなれてる人にはいいかも。

詳細は /usr/share/doc/atok12 以下のマニュアル参照。

Emacs21 で使う

~/.Xdefaults もしくは ~/.Xresources に以下のような内容を書く。

Emacs*useXim: true

今までの癖で Ctrl + \ で Egg を起動させてしまうのを防ぎたい場合は ~/.emacs に以下の内容を書いておく。

(define-key global-map "\C-\\" nil)

日本語入力切り替えは Shift + Space。

back

このページに関する問い合わせはrltmまで。