2015年2月22日日曜日

Wnn6をDebian GNU/Linux 7.x(wheezy) or 8.x(jessie)で動かしてみた


なんとなくDebian GNU/Linux 7.x or 8.xでWnn6 3.02が動いたら面白いと思い、需要もないのにやってみたらすんなり動きましたのでメモ。
まず、Wnn用のグループとユーザーを作成する。
# groupadd -g 127 wnn
# useradd -u 127 -g 127 wnn 
Wnn6 3.02のCDの中身を全て/tmp/wnn6にコピー。

端末の文字コードをEUC-JPにする。(GNOME端末なら「端末」→「文字コードの設定」→「日本語(EUC-JP)」 )

インストールスクリプトを実行。
# cd /tmp/wnn6
# bash ./Install
Can you use Japanese character?
NIHONGO GA HYOUJI DEKIMASUKA?  (y/n)
y
---------------------------------------------------------------
      Wnn6 for Linux/BSD Version 3.02  Install Script V1.03
---------------------------------------------------------------
System Check...
あなたがご使用の OS は Debian だと思われます。
しかし、OS のバージョンが 2.1 ではありません。
上記バージョン以外では動作確認されていません。
インストール作業を続けてよろしいですか? (y/n) : y

ライセンスパスワードのインストール方法を選択してください。
 (1) 体験版パスワードをインストール
 (2) 正規パスワードをインストール
 (3) 何もしない(既にインストール済の Wnn6 ライセンスパスワードを使用)
(1-3) : 2

インストールの準備が整いました。
これよりインストールを開始します。よろしいですか? (y/n)y

インストール処理開始...
/usr/local/ ディレクトリを調べています..

            (ココらへん文字化け)

完了
ライセンスパスワードのインストール...
正規パスワードを入力してください : 
正規パスワード: []  よろしいですか?
 はい:(y)  再入力:(n)  体験版パスワードを使う:(t)  (y/n/t) ? : y
Password Ok!

インストール終了
端末の文字コードをUTF-8に戻す。(GNOME端末なら「端末」→「文字コードの設定」→「Unicode(UTF-8)」 )

dpkeyとwnn6を手動で起動する(次回Linux起動時からはこの作業は不要です)
# /etc/init.d/dpkey start
Starting /usr/local/bin/Dp/dpkeyserv...
Key License Server started....
# /etc/init.d/wnn6 start
Starting /usr/local/bin/Wnn6/jserver...

Nihongo Multi Client Server (Wnn6 R3.02)
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/fisd  Fid = 1
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/kihon.dic  Fid = 2
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/symbol.dic  Fid = 3
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/tel.dic  Fid = 4
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/zip.dic  Fid = 5
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/tankan.dic  Fid = 6
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/tankan2.dic  Fid = 7
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/tankan3.dic  Fid = 8
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/ikeiji.dic  Fid = 9
Reading /usr/local/lib/wnn6/ja_JP/dic/iwanami/kougo.fzk  Fid = 10
Finished Reading Files
kinput2-canna-wnnパッケージをインストールする。
# aptitude install kinput2-canna-wnn
/usr/share/im-config/data/80_kinput2.rcの以下の行を編集する。
/usr/bin/kinput2-canna-wnn -canna -xim &
このようにCanna用設定からWnn6用の設定に変更。
/usr/bin/kinput2-canna-wnn -wnnenvrc6 /usr/local/OMRONWnn6/wnn6linux/ja_JP/wnnenvrc -xim &
これでインストールは完了。

普段使いのユーザーでim-configを実行してkinput2を選択。

Xを再起動。(ログインしなおし)

kinput2は「Shift + Space」で入力開始。「Ctrl + \」で入力終了します。

<なんでちゃんと動くんだろう>
多分、サーバ部分は必要なライブラリの大半を全て静的リンクしてる+Linuxの互換性への努力で動くのだろう。
$ ldd /usr/local/bin/Wnn6/jserver
 linux-gate.so.1 =>  (0xb76e8000)
 libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xb76a1000)
 libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7551000)
 /lib/ld-linux.so.2 (0xb76e9000)
あと、ライブラリの依存が複雑そうなフロントエンド部分(kinput2)はディストリビューションが管理しているので問題が起きないのだろう。( ´∀`)
(多分XwnmoはEUC-JP運用前提なのでUTF-8では動かないだろうなー。)