2015-02-07

Void Linuxで日本語入力③ 日本語入力出来ない問題

Anthyとibus、ibus-anthyのコンパイルに成功してibusもちゃんと起動できることが確認されたのですが、日本語入力が出来ない件。

他のIMを試そうとuimをコンパイルしてインストールしたら直った…
uimのコンパイル時に追加でインストールしたXBPSパッケージは無いのですが、どういうわけかテキストエディタを使っての動作確認でちゃんと日本語入力できるようになってしまいました。

直ったのならいいような気もしますが、なんか納得いきません。
仮想環境のスナップショットでインストール前の状態に戻してuimをインストールしないでなんとかならないものかと色々やってみた。
動作確認で使用したテキストエディタは
xfw(X)
leafpad (gtk2)
gedit (gtk3)

で、いきなり脱落するテキストエディタが…
xfwはそもそも日本語入力に対応していないっぽい。
Linux Mint 17.1にパッケージからインストールして使ってみたのですが、Void Linux同様に日本語入力が全く出来ませんでした。


ibus-daemon -drx で起動。キーボードやIMの切り替えの設定をひと通り行った状態。
これが前回の状態です。

GTK_IM_MODULE=ibus
XMODIFIERS=@im=ibus
QT_IM_MODULE=ibus
も設定済み。

leafpad …無反応。入力ウインドウ内で右クリックするとインプットメソッドを選択する項目があるけどリストに無い。
gedit …無反応。


gtkアプリケーションが利用するimmoduleというやつがあるらしい。
それのキャッシュファイルを各gtkアプリケーションが利用するのですが、そのファイルが作成されていないっぽい。
gtk2用は、
/usr/lib/gtk-2.0/2.10.0/immodules.cache
gtk3用は、
/usr/lib/gtk-3.0/3.0.0/immodules.cache
がそのファイルなのですが、両方共無い。

コマンドを実行してファイルを作成。
$ su -
PASSWORD

# gtk-query-immodules-2.0 --update-cache

# gtk-query-immodules-3.0 --update-cache

# exit

キャッシュファイルはテキストデータなので中身を確認し、ibusのimmoduleのライブラリがデータ内にあるのを確認。

ibus-daemonを再起動させてテキストエディタで確認。
leafpad …インプットメソッドのリストに追加されるも何故かibusがリストに無い。
gedit …無反応。


ibusの設定はdconfが使われているので設定を確認してみる。
dconfのデータベースはバイナリファイルなので専用のエディタをインストールして確認。
$su -
PASSWORD

# xbps-install -S dconf-editor

# exit

$ dconf-editor

ほぼUIで設定した項目がデータベースに登録されているだけなので特にいじってみる項目はなし。
GTKの設定もひと通り見てみるがこれと言った設定が無い。


お手上げでなのでOSを再起動させてみる。
そしたら日本語入力出来るようになりました…
ここまでで変わったことといえばimmoduleのキャッシュを更新しただけです。
そういえばキャッシュ更新してから一度もログアウトしてなかったような気がする。

GTK_IM_MODULE=ibus
の設定は~/.bashrcに書いているのでログインした時に環境変数が設定されますが、この時点ではまだimmoduleのキャッシュファイルがなかったのでibusのimmoduleが読み込めず使えなかったと思われます。
これがキャッシュ作成 → 再起動 → ログインでちゃんとモジュールが読み込めたので使えるようになったと。

0 件のコメント:

コメントを投稿