SKK 日本語入力環境を作る     #TOP

SKK は正に「目から鱗」もんの日本語入力環境だった。こいつの特徴は「自分が全て指示する」って事に尽きる。 漢字も平仮名の片仮名もアルファベットも始めに「次はコレダ」と指示しながら語句毎に入力して行くのだ。 ハナっから自動変換なんか考えてもいない潔良さが、痛快な操作感を与えてくれる。「ちゃんと変換したかな?」 などと言う心配は微塵もいらない、自分が指示したのだから。

辞書登録法も素晴しい。辞書に見当らない語句があった時は、自動的に辞書登録モードになる。最初は面倒だがガシガシ登録して行くと、 あっと言う間にスラスラと自分の文章が書ける様になるのだ。変な変換をされてイライラしたり、 気付き難いワープロ当て字をされて恥かしい思いをする事も激減する。

難点と言えば、やっぱりとっつき難いよな。送り仮名処理なんてまるで漢字のテストをされているようだ。 そう、日本語に対するスキルを要求されるのだ。オイラ好きだぜ! 言葉は文化の礎なんだ。アメリカに居ると良くそう思う時がある。

コ鯖 から rskkserv-2.0-3.nosrc.rpm JRPM から skkinputt-2.01-1.src.rpm をそれぞれダウンロードした。rskkserv はその名の通り ruby で書かれた skk のサーバだ。ruby が必要なのは言うまでもない。 オット! それだけじゃなく、この rsskserv は jed エディタに特化して書いてあるので、Emacs 使いな人は JRPM や PJE から ELF版のソースを持って来てコンパイルする必要があるそうだ。

skkinput は特に独自にサーバと通信法を持っていないアプリに日本語を xim(X Input Method) を利用し入力するための仮名漢字コンバータだ。 canna などと違って、いくつかのモダンなアプリではそのまま日本語の入力が出来てしまう。(但し日本語の表示が出来ないと、文字化けしたりおかしな事になったりする) 良い例はネットスケープで、特に日本語化しなくても日本語入力が可能になるんで驚いたぜ。(不具合も少しあるが)

    $ su
    # cp rskkserv-2.0-3.nosrc.rpm /usr/src/redhat/SRPMS
    # cp skkinput.src.rpm /usr/src/redhat/SRPMS
    # cd /usr/src/redhat/SRPMS

    # rpm -i rskkserv-2.0-3.nosrc.rpm
    # less ../SPECS/rskkserv-2.0.spec
      内容を確認。rskkserv は nosrc なのでソース集めをする。(ユーザーのターミナルから)
    $ wget ftp://ftp.netlab.co.jp/pub/lang/ruby/contrib/rskkserv-2.0.tar.gz
    $ wget ftp://ftp.mickey.ai.kyutech.ac.jp/pub/emacs/lisp/skk/skk9.6.tar.gz
      ルートのターミナルに戻り
    $ cp /home/hogehoge/rskkserv-2.0.tar.gz ../SOURCES/
    $ cp /home/hogehoge/skk9.6.tar.gz ../SOURCES/
      揃ったところでリビルド
    # rpm --rebuild rskkserv-2.0-3.nosrc.rpm
    # rpm ../RPMS/i386/rpm -ivh rskkserv-2.0-3.i386.rpm

    # rpm -i skkinputt-2.01-1.src.rpm
    # less ../SPECS/skkinput-2.01-1.spec
      内容を確認
    # rpm --rebuild skkinputt-2.01-1.src.rpm
    # rpm ../RPMS/i386/rpm -ivh skkinput-2.01-1.i386.rpm

インストールが終った所で各設定をする。これ以降は殆ど とほほる氏 の設定の受け売りです。 まずは skk サーバ用のサービスポートが作られているかをチェックする。/etc/services を開いて最後の方に、

    skkserv        1178/tcp

があれば OK。skk のクライアントは tcp の 1178番ポートを使ってネットワーク上でサーバとやりとりするんだね。実際には使わないんだけど。

次にサーバを立ち上げてみる。rskkserv をインストールした時点ですでに /etc/rc.d 内の各ファイルは設定済みで、ランレベル 2〜5 で立ち上る様になっている。 つまりリブートすれば立ち上るんだが、少ないリブートがメリットの Linux オペレーションにのっとってコマンドを投げる。 スーパーユーザになって、

    # /etc/rc.d/init.d/skkserv start

何もエラーが返らなかったのでサーバは起動しているらしい。
では dot rc ファイルの番だ。自分のホームに .skkrc と言う名前で以下の内容のファイルを作った。

    skk_echo = 0;
    skk_process_okuri_early = 0;
    skk_auto_okuri_process = 0;
    skk_aux_large_jisyo = "/usr/share/skk/SKK-JISYO.L";
    skk_large_jisyo = "/usr/share/skk/SKK-JISYO.L";
    skk_server_host = "127.0.0.1";

コ鯖から落してそのままリビルドしたので、辞書のパスに問題は無いと思ったが、一応あるかどうかの確認はしておいた。 他の点はとほほる氏のページを参照して欲しい。

更に次は skkinput の設定をする。gdm(kdm/xdm) からログインして全てユーザに使える様にするには /etc/X11/xinit/Xclient に. 個別ユーザで使うようにするには ~/xinitrc に下記を追加記入する。オイラは後者で設定した。

    if [ -x /usr/X11R6/bin/skkinput ] ; then
       /usr/X11R6/bin/skkinput -h localhost &
       XMODIFIERS="@im=skkinput"
       export XMODIFIERS
    fi

X を立ち上げ直せば、既に設定の終了したアプリではガシガシ日本語が入力出来る様になった。入力起動キーは Shift+Space だ。 ちなみにユーザ辞書はホーム生成されサイズも小さいので、フロッピーなどに入れてて持ち歩けばどこでも自分の日本語環境が手にはいるのはありがたい副作用だぜ。

    #NEXT     #TOP