mozcのデフォルトをひらがな入力モードにする
Ubuntu 16.04や18.04ではmozcが使える。なれてしまうとanthyには戻れない。 が、mozcはmozcで、ログイン後の入力モードがデフォルトでDirect Input(直接入力)になっていて、しかも私のキーボードではひらがな入力モードに変更できない。なので、毎度毎度マウスを操作してひらがな入力モードに変更しなくてはならない。これが嫌で一度anthyに戻そうとしたが、やはり変換精度の差はいかんともしがたい。mozcを使うときは日本語を使いたい時のはずなので、どのような経緯でこのような仕様になったのか、不思議なところであるがこの際、どうでもいい。
ということでこれを直すことにする。 なお、この手順はUbuntu 20.04でもそのまま使えるとする複数の報告がある。 当エントリに言及していただいていることに感謝したい。 また、この手順は依然としてUbuntu 22.04でも必要であり、そのまま使える。
前提として、これは設定でどうにかする方法はなく、結局ソースの変更が必要である。[1]
mozcのレポジトリをクローンしdockerを使ってソースからビルドする方法もあるが、その後のインストールでかったるいことになりそうだ。 ということでUbuntuのソースパッケージからビルドすることにする。
ソースパッケージを以下のようにして入手
sudo apt update sudo apt upgrade -y sudo apt install build-essential devscripts -y sudo apt build-dep ibus-mozc -y sudo apt install debhelper -y apt source ibus-mozc
[1]に示された修正を行う。
emacs -nw $(find . -name property_handler.cc)
// Some users expect that Mozc is turned off by default on IBus 1.5.0 and later. // https://code.google.com/p/mozc/issues/detail?id=201 // On IBus 1.4.x, IBus expects that an IME should always be turned on and // IME on/off keys are handled by IBus itself rather than each IME. #if IBUS_CHECK_VERSION(1, 5, 0) const bool kActivatedOnLaunch = true; //false; #else const bool kActivatedOnLaunch = true; #endif // IBus>=1.5.0
ビルドを行う。
cd mozc* dpkg-buildpackage -us -uc -b
インストール
sudo dpkg -i ../mozc*.deb ../ibus-mozc*.deb
再ログオン後、mozcのデフォルト入力モードがHiraganaになるはずである。
Misc
この記事は、「Ubuntu 16.04 aarch64環境でmozc pkgが無いのでsource pkgからbuild」[2]を参考にして執筆した。 平成30年(2018年)10月11日に試したところ、本手順はUbuntu 18.04でも問題なく利用できる。 また、令和3年(2021年)6月18日に、本手順はUbuntu 20.04でも問題なく利用できる旨の複数の報告があるようなので、その旨冒頭に記載した。
また、ここに記された手順は無保証であり、その結果について執筆者は責任を負わない。フィードバックや修正提案を採用する義務を執筆者は負わないが、それらは歓迎される。
一定の閲覧があるとちょっと嬉しい気持ちになってしまうのは事実なのだが、ibus-mozcが改良され或いは代替の手段が整備されることによって、このエントリが必要なくなることを願っている。
2025年3月21日追記
もはや現在ではfcitx5+mozcの組み合わせで使うべきだと思う。
fcitx5は、Input Method(IM)の切り替えにCtrl+spaceを使うのがデフォルトだが、これはEmacsユーザには非常に不便だ。
Super+spaceに変えたい人が多いと思うが、GUIの設定ツールから変えようとしても、設定ファイルの書き換えで変えようとしてもうまくいかない場合がある。
これはUbuntu (Wayland)だと、Super+spaceがWMによってIMの切り替えに使われているが、これはIMにibusを使っている前提でのものだ。(つまり、fcitx5を使っている場合には必要のないibus用の入力メソッドの切り替えを行おうとしているのだろう)
なので、gnome-control-center keyboardとして、まずはSuper+spaceの割当を解除する必要があることに注意してほしい。
fcitx5の利用方法についてはこちらの記事が参考になると思う。
Ubuntu 24.04 LTS での日本語入力は Fcitx 5 に変更した方が良さそう。 | Wide and Deep Space