Wnn8 を Plamo Linux にインストールしてみました.正確には Plamo じゃなくて,自分で作ってる Plamo ベースの野良ディストリビューション(64bit環境)になんだけどね.なので,Plamo で本当に動作するかは不明です.はい.
これまでは Wnn7 をメインに使っていましたが,そろそろ Wnn8 に移行した方が良いかなと思って,今回は Wnn8 を選んでみました.Wnn7 を動かすためにごにょごにょするのも割と面倒なんで.
普通に CentOS 用のパッケージを使ってインストール&実行してみたところ,普通に動作しました.CentOS 版は 64bit 版が用意されているので便利ですね.
手順は下記のような感じかな.
まず,Wnn8 の最新版をダウンロードして展開.
% wget http://www.omronsoft.co.jp/SP/pcunix/wnn8/support/modules/set/wnn8-rpm-fullset_160408-1.tgz
% tar xvf wnn8-rpm-fullset_160408-1.tgz
Plamo のパッケージ形式に変換.
% rpm2tar -O wnn8-rpm/pkg_rpm/dpkey8-1.01-3.x86_64.rpm | xz > dpkey8-1.01_3-x86_64-P0.txz
% rpm2tar -O wnn8-rpm/pkg_rpm/iiimf-wnn8-12.3.3519.2-1.x86_64.rpm | xz > iiimf_wnn8-12.3.3519.2_1-x86_64-P0.txz
% rpm2tar -O wnn8-rpm/pkg_rpm/wnn8-le-1.02-2.x86_64.rpm | xz > wnn8_le-1.02_2-x86_64-P0.txz
% rpm2tar -O wnn8-rpm/pkg_rpm/wnn8-maindic-1.02-1.noarch.rpm | xz > wnn8_maindic-1.02_1-noarch-P0.txz
% rpm2tar -O wnn8-rpm/pkg_rpm/wnn8-optiondic-1.02-1.noarch.rpm | xz > wnn8_optiondic-1.02_1-noarch-P0.txz
% rpm2tar -O wnn8-rpm/pkg_rpm/wnn8-server-1.01-3.x86_64.rpm | xz > wnn8_server-1.01_3-x86_64-P0.txz
% rpm2tar -O wnn8-rpm/pkg_rpm/wnn8-utils-1.02-1.x86_64.rpm | xz > wnn8_utils-1.02_1-x86_64-P0.txz
ライセンスファイルを Wnn8 の CD-ROM からコピー.
% cp /cdrom/passwd/dpkeylist /etc/dpkey/
ライセンスサーバーと Wnn8 サーバーを実行して動作することを確認.
% /usr/sbin/dpkeyserv
Key License Server started....
% /usr/bin/dpkeystat
localhost:WNN8:2:----/--/--
% /etc/rc.d/init.d/wnn.r stop
% /usr/sbin/jserver
この状態でサーバーは動作して居るみたい.% wnn.r stop を実行しているのは,デフォルトで入っている FreeWnn が動いていたら止めるためです.
で,Emacs で実際の漢字変換の動作確認,wnn7egg を入れて確認します.wnn7egg のソースを https://www.omronsoft.co.jp/SP/pcunix/wnn7/support/modules/wnn7egg/wnn7-elisp-el-1.02-1.tgz からダウンロードして,展開した wnn7/elisp/emacs20 を /usr/share/emacs/site-lisp/wnn7egg 以下にコピーしました.あとは wnn8 用に対応させるために eggrc-wnn7 ファイルを http://www.omronsoft.co.jp/SP/pcunix/wnn8/support/modules/eggrc-wnn7 に入れ替える必要がありますね.他に,ftp://ftp.jpl.org/pub/elisp/wnn7-elisp-el-1.02-1.patch.gz と http://blog.foobarhoge.com/src/wnn7-egg/wnn7-egg-backend-timeout.patch あたりのパッチも当てておくことをおすすめします.というか,これらを当てないと 64bit 環境ではまともに動作しないかと思います.
で,Emacs 上で
(setq load-path (append '("/usr/share/emacs/site-lisp/wnn7egg") load-path))
(load "wnn7egg-leim")
(set-input-method "japanese-egg-wnn7")
な感じで設定して変換できることを確認.
CentOS 用パッケージを txz に変換してインストールしているだけなので,上記以外に rc.d 用のスクリプトとかを自作する必要はあります.systemd 用のスクリプトは同梱されているんだけどね.
細かい動作確認はしてないけど,rc スクリプトはこんな感じで良いのかな?と思っていたり.
wnn8 server 用 (/etc/rc.d/init.d/wnn8.r)
#!/bin/sh
SERVER=/usr/sbin/jserver
LOCKD=/var/lock/subsys
[ -f $SERVER ] || exit 0
case "$1" in
start)
echo "Starting Wnn server:"
$SERVER
/bin/rm -f /tmp/jd_sockV8
[ -d $LOCKD ] && touch $LOCKD/wnn8
;;
stop)
echo "Shutting down Wnn server:"
killall jserver
[ -d $LOCKD ] && rm -f $LOCKD/wnn8
;;
install)
echo wnn8 network
;;
*)
echo "Usage: wnn8 {start|stop}"
exit 1
;;
esac
exit 0
dpkey server 用 (/etc/rc.d/init.d/dpkey.r)
#!/bin/sh
SERVER=/usr/sbin/dpkeyserv
LOCKD=/var/lock/subsys
[ -f $SERVER ] || exit 0
case "$1" in
start)
echo "Starting dpkey server:"
$SERVER
[ -d $LOCKD ] && touch $LOCKD/dpkey
;;
stop)
echo "Shutting down dpkey server:"
killall dpkeyserv
[ -d $LOCKD ] && rm -f $LOCKD/dpkey
;;
install)
echo dpkey server network
;;
*)
echo "Usage: dpkey {start|stop}"
exit 1
;;
esac
exit 0
見て判るように,元々,同梱している FreeWnn 用のスクリプトをちょこっと修正した程度の物です.はい.
あとは,予測変換が動かないのがちょっと悲しいので.オムロンソフトさんが elisp を正式に wnn8 に対応してくれるとうれしいなと思ってたり.以前,「OMRON Wnn8 for Linux/BSD の Emacs client の要望」に書いたように,オムロンソフトへは Wnn8 の Emacs 対応への要望がほとんど来てないとのことなので,いまからでも Wnn8 の Emacs lisp が欲しいと思っている方は,直接,オムロンソフトに要望を出しましょう.
あ,書き忘れてましたが,iiimf は動作確認してないです.はい.
ざっとこんな感じですけど,まぁ,参考まで.
Wnn8 for Linux/BSD | |
オムロンソフトウェア | |
オムロンソフトウェア |