Open4

KDE neon の日本語入力の初期設定に関わるバグについて調べる

Jumpei OgawaJumpei Ogawa

※ 2023年5月追記: fcitx5 がインストールできるようになった

だいぶ前の話だが、KDE neon が Ubuntu 22.04 ベースになったのでクリーンインストールした。
しかし、fcitx をうまくインストールできなかった。代わりに ibus を使ったところ、うまく日本語入力ができるようになった。

fcitx パッケージ (fcitx4 系) と fcitx5 パッケージの両方が提供されているのだが、fcitx5 の方は fcitx5-frontend-qt5 という Qt 系アプリケーションで動かすためのパッケージの依存関係が壊れているようで、うまくいかなかった。

fcitx 4 系で試したところ、Qt 系アプリケーションではうまく日本語入力できるのだが、Firefox など GTK アプリケーションでは入力できず。
fcitx-diagnose をしたところ、gtk-query-immodules というものが認識されていないようだったので、下記のような対応を行った。

sudo ln -s /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 /usr/bin/gtk-query-immodules-3.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 /usr/bin/gtk-query-immodules-2.0

※参考: https://gist.github.com/carsonip/02d1e1947a8f4d2be1a5cd6781dc170f

fcitx-diagnose の結果としては gtk-query-immodules が認識されるようになったのだが、それでも Firefox で日本語入力ができない。

fcitx を諦め ibus を使うことで、比較的には楽に日本語入力ができるようになった。
ただ、ibus-mozc パッケージをインストールするだけではうまくいかず、/etc/X11/xinit/xinput.d/ibus を追加して以下のような中身にする必要があった。

XIM=ibus
XIM_PROGRAM=/usr/bin/ibus
XIM_ARGS=""
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
DEPENDS="ibus"
XMODIFIERS=@im=ibus
Jumpei OgawaJumpei Ogawa

しかし、KDE neon で、Firefox でだけ fcitx5 + mozc で日本語入力ができない。Qt アプリケーションや、他の GTK アプリケーションでは正常に日本語入力ができる。

KDE neon は Ubuntu チームが提供している、Firefox の deb パッケージを使っているのだが、fcitx 開発者の方に聞いてみたところ、どうも Ubuntu チームが提供する Firefox の deb パッケージでのみ発生する問題のようだ。

https://github.com/fcitx/fcitx5/discussions/789

deb 版を削除し、snap から Firefox をインストールし直すと、そちらでは正常に日本語が入力できる。(ワークアラウンド1)

deb パッケージで当てているパッチに問題があるかと考え、ubuntu-jp メーリングリストで相談してみると、どうも AppArmor が fcitx5 と Firefox 間の通信を阻害しているようだと教えてもらった。

https://lists.ubuntu.com/archives/ubuntu-jp/2023-May/006616.html

以下のコマンドで AppArmor の Firefox 用プロファイルを無効化することで、Firefox でも正常に日本語入力ができるようになった。(ワークアラウンド2)

$ sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/
$ sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
Jumpei OgawaJumpei Ogawa

Kubuntu は App Armor の Firefox プロファイルを無効化することで、fcitx5 による入力ができるようにしているとのこと。
KDE の Bugzilla にて、KDE neon でも AppArmor の Firefox プロファイルをデフォルトで無効化できないか相談中。

https://bugs.kde.org/show_bug.cgi?id=469832