生物学を志す孫への手紙
Can't Use iBus-Mozc on FreeBSD
前略
実に実に、お久しぶりです。元気で勉学・研究に励んでいることと思います。
さて、コンピュータの話題は初めてですね。以前教えたLinuxは今でも使っているでしょうか。研究室では、Linux?、やはり MS Windowsなのでしょうか。私はずっと、FreeBSDです。ネット検索はもちろん、文書作成、web作成、写真の管理・加工等、何でもこれで済んでおりますが(Windowsを持っていない)、最近、日本語入力のibus-mozcがLibreoffice上で使えなくなりました。そこで、あなたの研究室でもFreeBSDを使っているかもしれないので(期待はしません!)、解決法を書きました。以前からのibus-mozc関連トラブルも書いておきます(ibus-mozcが悪いわけではありませんよ)。トラブルは2つ、
LibreOfficeでibus-mozcが使えない
RELEASE-12.0に上げた頃からでしょうか、LibreOfficeでibus-mozcによる日本語入力ができなくなりました。仕方なく、scim-anthyに、でもだめでした。そこで、Apache-Openofficeを使っていたのですが(こちらは何も問題もなし)、最近ふと思い出したのがFirefoxでの同様の問題。ということで、解決方法は以下の通りです。なお、バージョンは、ja-libreofficeが 7.1.0.3、ja-ibus-mozcが 2.23.2815.102.01_2です。FreeBSDは12.2-p3です。
portsやpkgでinstall後に出てくるメッセージ (/usr/ports/japanese/ibus-mozc/files/pkg-message.in)には、~/.xinitrc あるいは ~/.xsession に以下のように記述せよ、と書いてあります。
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
%%PREFIX%%/bin/mozc start
ibus-daemon -r --daemonize --xim
この通りだとうまく動かないのです。それで以下のように変更します。
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
%%PREFIX%%/bin/mozc start
ibus-daemon -r --daemonize --xim
これを以下のように変更。
修正前:export GTK_IM_MODULE=ibus
修正前:export QT_IM_MODULE=xim

修正後:export GTK_IM_MODULE=xim
修正後:export QT_IM_MODULE=ibus

他は同じ。
GTK_IM_MODULEはFirefox用、QT_IM_MODULEはLibreoffice用です。あとは,ibusを再起動して終了。
qtを使うアプリケーションは皆同じなのかな? digikamも日本語入力が可能になりました。
ibus-mozcで,かな漢字変換の初期モードが'A'になる
ibusのバージョンが1.5以上になってからでしょうか、日本語入力モードにした時の初期状態が「直接入力」になってしまいました。常時ibus-mozc経由でキーボード操作をすればいいということかもしれませんが、「ひらがな」モード('あ')にするショートカットキーがわかりませんし、そもそも私のキーボードは101なのです。
ネット上を調べると,ソースの一部を変更し,再build & installすることで解決できるというサイト、「追記:ibus-mozcの初期入力モードを「ひらがな」にする」を見つけました。
portsのディレクトリに移動し,以下の操作を行います。
> cd /usr/ports/japanese/ibus-mozc/work/mozc-∗/src/unix/ibus
オリジナルの該当ソース・ファイルをバックアップした上で編集します。
> cp property_handler.cc property_handler.cc.bak
> vi property_handler.cc
L.78-L.88は以下の通りですよね。
78 // Some users expect that Mozc is turned off by default on IBus 1.5.0 and later.
79 // https://github.com/google/mozc/issues/201
80 // On IBus 1.4.x, IBus expects that an IME should always be turned on and
81 // IME on/off keys are handled by IBus itself rather than each IME.
82 #if IBUS_CHECK_VERSION(1, 5, 0)
83 const bool kActivatedOnLaunch = false;
84 #else
85 const bool kActivatedOnLaunch = true;
86 #endif // IBus>=1.5.0
87
88 } // namespace
L.82、L.83、L.84、L.86をコメント・アウトします。ccなので、'//'ですよ。
82 // #if IBUS_CHECK_VERSION(1, 5, 0)
83 // const bool kActivatedOnLaunch = false;
84 // #else
85 const bool kActivatedOnLaunch = true;
86 // #endif // IBus>=1.5.0
少し上のディレクトリに戻り,/usr/ports/japanese/ibus-mozc/work で作業段階の「印」を削除します。
> cd ../../../../
> rm .build_done.mozc._usr_local
> rm .install_done.mozc._usr_local
> rm .stage_done.mozc._usr_local
そして,また1つ上がって、/usr/ports/japanese/ibus-mozc でmakeとinstallのやり直しをすれば終了です。
> cd ../
> make reinstall
昔は、'FORCE_PKG_REGISTER'をセットすれば再インストールも文句を言われずにできたのですが、最近はこの「おまじない」が効きませんね。
わたしは、Openofficeも好きですし、scim-anthyも嫌いではありません。でも、Libreofficeの方が画面がきれいですし、anthyさんにはもうちょっと賢くなって欲しいですからね。
そうそう、ibus-mozcには、別のトラブルもあるんです。キー入力で、勝手に改行されたり、冒頭の入力キー(子音)を勝手に確定してしまったり。これが嫌でscim-anthyを使っていたのですが、Libreofficeではそれも使えなくなったので、再びibus-mozcに戻したら、あら動かない、What can I do? という状態だったのです。それでここしばらくOpenofficeを使っていました。動くようになったものの、さてどちらを使うか。
では。体を大切に。これでトラブルが生じても、後は自力で解決して下さいね。
草々
2021年2月22日