ひさびさにemerge worldをしたあと、例のごとくいろいろと不具合が起こるわけですが。
今回は日本語入力にそれなりにハマる。これはもう英語で過ごせというお告げか。
さすがにそれは無理なのでとりあえず調べてみる。
ibus-daemonのログをとってみる。起動したままibusのバックエンドをAnthyとそうじゃないやつで切り替えてみる。
$ killall ibus-daemon
$ ibus-daemon -v
IBUS-Message: 22:06:40.512056: Engine xkb:us:altgr-intl:eng is already registered by other component
Traceback (most recent call last):
File "/usr/share/ibus-anthy/engine/main.py", line 26, in <module>
import ibus
ImportError: No module named ibus
どうやらibusのPythonモジュール読み込み失敗しているらしい。とりあえずemergeしてみる。
# emerge -av ibus
* IMPORTANT: 8 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ~] app-i18n/ibus-1.4.99.20121006 USE="X dconf gconf gtk gtk3 introspection nls python -deprecated {-test} -vala" 0 kB
pythonは入ってるから大丈夫なはずなんだけどなぁ、と思ったけどふと「-deprecated」が怪しく感じてonにしてemergeした。
そしたら無事ibus-anthy自体は動くようになった。
ここからさらに。なぜかGnome 3.6での「Zenkaku_Hankaku」キーがショートカットとして使えない。
いろいろと探すと、VineSeedにそれらしいパッチがあった。
http://riksun.riken.go.jp/archives/Linux/vine/VineSeed/SRPMS.main/gnome-settings-daemon-3.6.3-1vl7.src.rpm
こんなかにある「gnome-settings-daemon-3.6.3-input-source-switch-zenkaku-hankaku.patch」を当てるverのebuildを作成してre-emergeしてみたが、ダメだった。
仕方ないので、xbindkeysを使用して無理やり解決。
まず切り替えスクリプトの用意。
(/usr/sunaga-lab/bin/switch-ibus-method)
#!/bin/bash
ENGINE=`ibus engine`
if [ s$ENGINE != "santhy" ]; then
ENGINE="anthy"
else
ENGINE="xkb:jp::jpn"
fi
ibus engine $ENGINE
次にxbindkeysの設定。
$ emerge xbindkeys
...
$ cat .xbindkeysrc
"/usr/sunaga-lab/bin/switch-ibus-method"
Mod2 + Zenkaku_Hankaku
あとは.xprofileにxbindkeysを追加して終わり。
とりあえず使えるようになった。初回だけちょっともたつくけど。仕方ない。