[HOME] > PC-UNIX Tips > Firefox-1.xでkinput2日本語入力不可
Created: 2005.01.27
Modified: 2005.05.16
PC-UNIX Tips
Firerox-1.0をKDE上で利用しています。下記設定によりkinput2+Cannaで 日本語入力自体はできるのですが、突然入力できなくなります。[Shift]+[SPACE] でのkinput2表示ができず、さらにはアルファベットの入力さえできない...
setenv LANG ja_JP.eucJP
## kinput2 startup
if [ -x /usr/X11R6/bin/kinput2-canna ] ; then
/usr/X11R6/bin/kinput2-canna +ximp &
XMODIFIERS="@im=kinput2"
export XMODIFIERS
fi
KTerm*VT100*translations: #override \
Shift<Key>space: begin-conversion(_JAPANESE_CONVERSION)
Netscape*inputMethod: kinput2
Netscape*international: True
# SERVER: canna / wnn
SERVER=wnn
かなり長い間苦しみましたが、なんとか次の設定により解決。うーん、なんで この情報を見つけられんかったんやろう...
"Plamo"と"kinput2"のキーワードから始めて、決定的な情報を得ました。
まさに現象の説明は大ビンゴの予感。文書の通りに下記対策を実施して、 Xを再起動したところ現象は解消されました :-)
...
!!
!! Added for kinput2 stop with firfox
!!
*SeparateConversion.input: false
*selectionShell.input: false
*auxShell.input: false
!! END
これらの設定は、Xアプリケーションのリソースと呼ばれる環境変数の設定を 変更しています。/usr/X11R6/lib/X11/app-defaults には、システム全体で 共通のXアプリケーションのリソースファイルが納められています。Kinput2 ファイルもその一つです。詳細については、 The X Window User HOWTO - 8. X のリソースが大変参考になります。 ご一読を。
ただ、何がどうなって現象が解決したのかは、理解できていません X-) 様々な情報から、GTK2+アプリケーション(今回はFirefox)と Kinput2 間の 外部インターフェイス実装がうまくいっていないみたいですが...
と。よーく見ると.$HOME/.Xresourcesに大昔に設定した残骸設定を発見。 これを削除してXを再起動しましたが現象再発。
Netscape*inputMethod: kinput2
Netscape*international: True
.Xresourcesは、.Xdefaultsと同じ役割で、Xアプリケーションの第2の環境変数を 設定するファイル。この環境変数のことをリソースと呼ぶそうな。詳しくは、 「 ~/.Xdefaults X Window System のリソース設定を記述するファイル」を参照 のこと。
今度は、ホームディレクトリ配下に.kinput2rc
なるkinput2の
設定ファイルらしきものを発見。Googleってみますと、
...(..., mozillaなどで kinput2 からかな漢字変換ができない症状です.)
ってな、ビンゴっぽい情報を
Plamo Linux FAQから得ました。下記のように修正してXを再起動したので
すが、現象が再発。
# SERVER: canna / wnn
SERVER=canna ... "wnn"から"canna"に修正
OPTS="-cannaserver localhost" ... 追加
ふと、.kinput2rc ファイルの更新日付がかなり古いのに気づきました。 もしかして kinput2-canna では利用されていないかも... そして、それを 裏付けるような [plagia 03182] Re: Plamo 1.4.1 に嫌われている?? ってな情報を得ました。 試しに、strings 出力から"kinput2-canna"を検索すると、案の定何も出力されま せん。もひとつ試しに"kinput2"を検索すると、こちらは検索にヒットしました。
% strings -a /usr/X11R6/bin/kinput2-canna | grep -i kinput2rc
% strings -a /usr/X11R6/bin/kinput2 | grep -i kinput2rc
if [ -f $HOME/.kinput2rc ] ; then
source $HOME/.kinput2rc
*)echo invalid ~/.kinput2rc ; exit 1
# initialize user's rcfile (~/.kinput2rc)
cat << END > $HOME/.kinput2rc
cat << END > $HOME/.kinput2rc
cat << END > $HOME/.kinput2rc
echo creating ~/.kinput2rc
cat << END >> $HOME/.kinput2rc
%
うーん、そういえば kinput2 と kinput2-canna って何が違うんやろうか... 調べてみると、kinput2 は kinput2-canna, kinput2-sj3, kinput2-wnn の 単なる起動シェルで、kinput2 から起動すれば $HOME/.kinput2rc が読み込ま れてから、本命のプログラムが起動するしかけになっていました。
% cd /usr/X11R6/bin
% file kinput2*
kinput2: a /bin/sh script text executable
kinput2-canna: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped
kinput2-sj3: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped
kinput2-wnn: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped
% more kinput2
...
if [ -f $HOME/.kinput2rc ] ; then
...
%
結局、原因を特定するための混乱を避けるために、$HOME/.kinput2rc は削除 しました。削除後、念のためXを再起動しましたが、現象は再発。うーん。
PC-UNIX Tips
Written by kabada