三日間日本語が打てませんでした。
uimを今まで使っていたのだけれども、設定画面が複雑だし、Archだとuim-mozcはAURで公開されているので
毎回アップデートのたびにコンパイルするのが辛かったから、Ubuntu時代に使っていたibusに変えようかなと思ったわけだ。
結局、ibusでもmozcもソースからコンパイルが必要だったのだけれども、ここまで設定してしまってはしかたない。
競合が怖くてuim関連はすでに削除済みなのだから…もう後戻りはできない!
ありがたいことにArchWikiにはスンバラシイ解説が載ってあるので、情弱でも上から順番に手順を追っていけばなんとかなる。
ArchWikiの通りにibusとibus-mozc mozcを入れて、~/.bashrcに必要なものを書き込んだのにうまく行かない。
~/.xinitrcに書き込んでもうまく行かない!!!
ちなみに、僕の環境はArchLinux xfce ディスプレイマネージャはgdmを使用している。
電源ボタンを押したら、まずgdmが起動してログインユーザーを選んでパスワードを入力したらxfceが起動する構成になってる。
そう、gdmだと~/.xinitrcをXセッション起動時に読み込んでくれないらしい。
touchコマンドで適当なファイルを作るコマンドを忍ばせておいたのだけれども、作られなかったからね。
色々調べた結果、ぼくの環境では~/.xprofileに書き込むことが良いらしい。
というわけで、~/.xprofileに以下の内容を書き込む
export XMODIFIERS=”@im=ibus”
export GTK_IM_MODULE=”ibus”
export QT_IM_MODULE=”xim”
exec ibus-daemon -rxd &
これでxfceが起動したらibusも動くようになった。
terminalでもskypeでも日本語は打てる。
だが、chromiumでは打てないのだ…
terminalとかだと全角半角キーで日本語か英数字かの切り替えができるのだけれども、
chromiumでは全く反応無し。タスクバーからマウスで日本語入力に選択してもChromiumでは全く反応無し。
もっかいArchWikiを調べてみたらこんな情報が…
GTK アプリケーションでインプットメソッドを使うと問題がおこることがあります。おそらくそれは gtk.immodules ファイルが見つけられないことが原因です
chromiumってgtk使っているのか?
firefoxは使っているらしいが確かに同じ症状が出ている。
ArchWikiには以下のように対処方法が書かれていた。
問題を修正するには、GTK+2 なら:
export GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodulesGTK+3 なら:
export GTK_IM_MODULE_FILE=/usr/lib/gtk-3.0/3.0.0/immodules.cacheを
$HOME/.bashrc
に追加することで問題を修正できます。Note: gtk2 に設定すると、gedit などの gtk3 アプリケーションが使えなくなります。gtk3 に設定すると xfce などの gtk2 アプリケーションが使えなくなります。
これでGTK+3用のものを~/.xprofileに書き込んだらエライことになった。
xfceの様々なウィンドウが開くことが出来ず、GUIで操作が困難になった。
というわけで、GTK+2用のコードを追記して再起動してみた。
そしたらこれはヒットして上手くChromiumでも動くようになったんだ。
でも、次の起動時にはまた上手く動かなくなってしまった。
一応暫定的に日本語が打てるようにする方法は編み出した。
まず、ibusを終了する。
そして、terminalで
ibus-daemon -x –verbose
と打つ。
これは、ibus-daemonにオプション-dをつけるとデーモン起動してくれるけれど、それを外しているので
実行したterminalの操作は受け付けない状態になっている。
さらに–verboseをつけることによって、エラーなどの出力も端末にでるようになる。
ちなみにこんなエラーメッセージがでてくる
(ibus-ui-gtk3:1977): IBUS-WARNING **: ibus_bus_call_sync: org.freedesktop.DBus.Properties.Get: GDBus.Error:org.freedesktop.DBus.Error.Failed: No global engine
なんとかここから解決できればいいけれど、起動時の不便さを除けば問題なく動いているし…
この状態で諦めちゃうかも知れない。
UIMに戻るかも知れない…