kinput2 の使い方

kinput2日本語マニュアル

kinput2 は X Window 上で日本語を入力するためのプログラムです。 が、どういうわけかマニュアルが英語版しか見当たりません ので、日本語に翻訳したものを置きます。

kinput2日本語マニュアル

はじめに

まずは日本語を入力したいアプリケーションで SHIFT+SPACE キーを 押してみてください。それで日本語が入力できて、漢字変換もでき ればすべてがうまく設定されているということです。

入力ができなかった場合は下記の文章を参考にして下さい。 主に FreeBSD-5.1 で パッケージインストールした kinput2 (ja-kinput2-canna+wnn6-3.1_2 [japanese/kinput2-canna+wnn6]) で、 Wnn6 を使用した場合を想定して書いています。

kinput2 での日本語入力の原理

kinput2 を使った日本語入力は、図のように

の3種類のプロセスが通信して実現しています。この3つのプロセスは 別々のマシン上で起動していても構いません

日本語が正しく入力できない場合のチェックポイント

正しく日本語入力ができるためには、下記の条件がすべて満たされ ている必要があります。

さて、うまく日本語入力できない場合、原因はどれでしょう? 順番に確認していってください。

Xクライアント(アプリケーション)が日本語入力プロトコル(XIM,kinput2等)に対応済みでコンパイルされているか

実は kinput2 はすべてのアプリケーションに日本語を入力できるわけではなく、 アプリケーション側が日本語変換プロトコルに対応済みでコンパイルさ れている必要があります。私が日本語入力できることを確認したアプリ ケーションと、対応していたプロトコル(コンパイル時に指定)と、確認 する方法を書いておきます。

(参考) XFree86についてくるクライアントの国際化のお話(リンク切れ)

kterm 6.2.0.ext02

XIM と KINPUT2 プロトコルに対応していました。

kterm -version
とオプション付きで起動すると、XIM に対応している場合は "KTERM_XIM" KINPUT2 プロトコルに対応している場合は "KTERM_KINPUT2" と表示されます。

Xfig 3.2 patchlevel 4 (Protocol 3.2)

XIM プロトコルに対応していました。

xfig -h
とオプション付きで起動すると、XIM に対応している場合は "-international" というオプションがありますので、xfig に日本語を入力する場合は "-international" オプションを付けて起動してください(未確認)。

Mozilla 1.4b

XIM プロトコルに対応していました。

mozilla -help
とオプション付きで起動すると、XIM に対応している場合は "X11 options" に "--xim-preedit=STYLE" 等のオプションがあります(未確認)。

GIMP version 1.3.14

XIM プロトコルに対応していました。確認方法は分かりません。

xclipboard, xedit

XFree86 に付属のアプリケーションです。XIM プロトコルに対応していました。 確認方法は分かりません。

kinput2 が使いたい変換エンジンに対応してコンパイルされているか

kinput2 が使いたい変換エンジンに対応してコンパイルされている必要があります。 kinput2 が対応している変換エンジンを確認するには
kinput2 -version
のようにオプション付きで起動すると
[Wnn6] [Canna2]
のように対応している変換エンジン名が表示されます。

kinput2 の起動時に、変換エンジンの種類(wnn,canna,sj3)とマシン名が正しく指定されているか

kinput2 の起動時に、kinput2 に下記のオプションを指定して、 変換エンジンの種類とマシン名を明示的に指定してください。

変換エンジンにFreeWnn, Wnn6 を使用する場合

kinput2 -wnn -jserver サーバ名 [-wnnenvrc wnnenvrcファイル(後述)]

変換エンジンに Canna を使用する場合

kinput2 -canna -cannaserver サーバ名 [-cannafile 変換カスタマイズファイル名]

変換エンジンに Sj3 を使用する場合

kinput2 -sj3 -sj3serv サーバ名 [-sj3serv2 セカンダリサーバ名]

kinput2 の変換開始キー(SHIFT+SPACE等)が設定されているか(X のリソースの設定)

通常 SHIFT+SPACE で日本語入力を開始するように設定することが多いです。 うまくいかない場合にどうすればいいかは、下記の理由で分かりにくいと思います。

詳しい説明は別に書きますが、確実な方法としては、テキストファイルに 下記の内容を記述して "resource" というファイル名で保存し

xrdb -merge resource
を実行した後で kinput2 とXクライアントを起動して日本語入力を行ってください。
(resource ファイルの内容)
*translations: #override Shift<Key>space: begin-conversion(_JAPANESE_CONVERSION)
*ConversionStartKeys: Shift<Key>space
*IMProtocol.locales: ja_JP.SJIS, ja_JP.EUC, ja_JP, japanese, japan, ja
*allowSendEvents: true

(参考) FreeBSD QandA 496

kinput2 の起動時にローマ字変換規則ファイル "ccdef" が指定されているか

kinput2 -ccdef 変換ルールファイル名

入力文字の変換ルールファイルを指定します。

デフォルトでは "/usr/lib/X11/ccdef/ccdef.kinput2" が参照されます。

Xクライアントの起動時に XMODIFIRES 環境変数が設定されているか

XIM プロトコルを使用する場合、環境変数 "XMODIFIERS" を設定しておく 必要があります。Xクライアントを起動する前に下記の1行を実行してください。

[csh 系の場合]
setenv XMODIFIERS @im=kinput2

変換エンジンに Wnn6 を使う場合の注意

(Wnn6)kinput2 の起動時に Wnn の設定ファイル "wnnenvrc" が指定されているか

クライアント側に Wnn6 用の "wnnenvrc" が必要です。 "wnnenvrc" でサーバ側の辞書ファイルの位置とファイル名を指定します。 正しく指定しないと、アプリケーションでかな入力まではできても、 漢字に変換できないという現象が起きます。

このファイルの書き方が分からない場合や(普通わからないと思いますが)、 サーバ側の辞書ファイル名が分からない場合は、 とりあえず Wnn6 サーバのどこかにはおそらくそのサーバ用の "wnnenvrc" ファイル があると思いますので、それをクライアントにコピーして、そのファイルを指定してみましょう。

kinput2 の起動時に "wnnenvrc" のファイル名を -wnnenvrc オプションで指定してください。

% setenv JSERVER ホスト名 (csh 系の場合)
% kinput2 -wnn -jserver ホスト名 -wnnenvrc ./wnnenvrc

「ホスト名」は Wnn6 サーバの名前です。 上記のように、kinput2 の起動前に、 あらかじめ環境変数 JSERVER にホスト名を指定してください。 指定しないと、kinput2 がWnn6 サーバ上の辞書を探しに行けずに、kinput2 の起動時に

ファイル "wnnenvrc" で環境設定中に、エラーが発生したために、設定を中止します。
というエラーが発生します。

(Wnn6)変換エンジンがkinput2からのアクセスを許可しているか

Wnn6 サーバに wnnhosts が存在している場合は、 そこにクライアントの IP アドレスが書かれている必要があります。

Solaris の Wnn6 の場合: /etc/lib/locale/ja/wnn/wnnhosts

クライアントの IP アドレスが書かれていないと、kinput2 の起動時に

Warning: ccWnn Object: can't connect to jserver

というエラーが発生します。

(Wnn6)変換エンジンと同じマシンでライセンスマネージャ(dpkeyserv)が起動しているか

疑問