FreeBSD QandA 466

FreeBSD QandA

Q. FreeWnn (Wnn4) または Wnn6 をインストールしたのですが、漢字変換がで
   きません。何を確認すれば良いでしょうか。

A. まず、jserver が「jserver を動かしたいマシン上で」起動していること
   を確認してください。

     ps -ax などで jserver が存在すれば、jserver は起動しています。動いて
   いない場合は、Wnn のマニュアルにしたがって jserver を起動してください。
   ports&packages からインストールした場合は起動 script が
     /usr/local/etc/rc.d
   にインストールされているはずです。

     jserver の動作が確認できたら、client の環境設定が正しいかどうか調べ
   ましょう。

     Wnn の client と jserver の通信がうまくゆかず、変換出来ない場合によ
   く見られる間違いに、jserver の動いている host を指定していないというも
   のがあります。
     ほとんどの Wnn client は default では jserver という名の host で動い
   ている jserver daemon と通信しようとします。ここで、実際に jserver が
   動いている host が jserver という名でなければ通信に失敗してしまい、変
   換が行なえません。解決法は以下のいずれかになるでしょう:
    (a) jserver が動いている host に jserver という別名をつける。
    (b) client を起動する時に jserver が動いている host を教える。
    (c) client が default で接続しに行く host の名前を変える。

     他の原因も考えられますが、ソフトウェアによってかわってきますので、一
   概にはいえません。あなたが入力を行ないたいと思っている環境について 
   ドキュメント、QandA、メーリングリスト、その他を検索して調べ、分からな
   い場合はメーリングリスト、netnews 等で質問して下さい。
     kinput2 と kterm の組合せについては [管理番号 356] も御覧下さい。

     Jserver と通信出来ない場合の解決法として示されることが最も多いのは 
   (b) ですが、あなたが管理者で、ユーザーにそれを徹底させるのが大変な場合
   は (a) または (c) が有効かもしれません。

   (a) jserver が動いている host に jserver という別名をつける。

     DNS や /etc/hosts 等で jserver という host を設定します。

   (b) client を起動する時に jserver が動いている host を教える。

     Wnn client には主なもので emacsen で動く たまご(egg、emacs 19 以前)、
     eggV4 (emacs 20 相当以降) の他、kinput2、xwnmo、uum、onew 等があり
     ますが、egg V4 以外に共通して jserver host を指定する方法として
       環境変数  JSERVER
     に jserver の動いている host 名を設定する方法があります。
     ほとんどの wnn client はこの環境変数を参照しているはずです
     (egg V4 の場合は、特に指定しなければ localhost の jserver に接続
      するようです)。

     あなたの環境に応じて、.login、.cshrc、.profile、.xsession、.xinitrc 
     などで環境変数 JSERVER を設定して下さい。
     jserver が localhost で動いている場合は
     csh 系の shell:
          setenv JSERVER localhost
     sh 系の shell:
          JSERVER=localhost; export JSERVER
       または
          export JSERVER=localhost
     jserver が 動いている host が jserverhost.domain であれば
          setenv JSERVER jserverhost.domain
     と記述します。
     xdm で login する場合は [管理番号 454] もご覧下さい。

     これ以外に client によって異なった方法で jserver host を指定すること
     が出来ます。主な例として、egg と kinput2 について例を挙げておきます。
     詳しくは各 client の説明 (man、info 等) を御覧下さい。

   たまご:
     egg では set-wnn-host-name 関数を用いて .emacs などから設定すること
     ができます。
     localhost で動いている場合:
          (set-wnn-host-name "localhost")
     他の host (この例では jserverhost.domain) で動いている場合:
          (set-wnn-host-name "jserverhost.domain")
     尚、set-wnn-host-name 関数は指定された host名を jserver-list 変数の
     先頭に追加しますので、jserver が動いている host が複数あって、どれに
     接続しても良い場合は set-wnn-host-name を複数回実行します。その際、
     最初に接続したい host は最後に指定するようにして下さい。

     egg V4 については事情が異なりますので、調べてみて下さい。

   kinput2:
     manual に載っているように、jserver が動いている host を
       option: -jserver
       resource: Kinput2*CcWnn.jserver 及び Kinput2*CcWnn.jserver2nd
     で指定する事が出来ます。
     例1:
       % kinput2 -wnn -jserver localhost -ccdef ccdef.kinput2.egg &
     例2:
       .Xdefaults、.Xresources 等に
         Kinput2*CcWnn.jserver:    localhost
       を追加する。

   (c) client が default で接続しに行く host の名前を変える。

     jlib を使用する client は、jserver を指定されなければ、起動時に
       /usr/local/lib/wnn/serverdefs
     ファイルを参照して接続する host を決定します。
     従って、jserver (または他の使用している server) に対応する 2カラム目
     の machine name を jserver からお望みの host名に変更すればよいでしょう。
     但し、eggV4 のように、jlib を使用していない client についてはその 
     client の設定を変更する必要があります。各 client の説明を参照して下
     さい。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。