[SOLVED] KDE neon の日本語入力の初期設定に関わるバグについて調べる
だいぶ前の話だが、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
fcitx5 の依存関係の問題が解決され、fcitx5-mozc と kde-config-fcitx5 の2パッケージをインストールすれば fcitx5 + mozc が動作するようになった。
sudo apt install fcitx5-mozc kde-config-fcitx5
以下で修正を依頼し、対応完了済。
しかし、KDE neon で、Firefox でだけ fcitx5 + mozc で日本語入力ができない。Qt アプリケーションや、他の GTK アプリケーションでは正常に日本語入力ができる。
KDE neon は Ubuntu チームが提供している、Firefox の deb パッケージを使っているのだが、fcitx 開発者の方に聞いてみたところ、どうも Ubuntu チームが提供する Firefox の deb パッケージでのみ発生する問題のようだ。
deb 版を削除し、snap から Firefox をインストールし直すと、そちらでは正常に日本語が入力できる。(ワークアラウンド1)
deb パッケージで当てているパッチに問題があるかと考え、ubuntu-jp メーリングリストで相談してみると、どうも AppArmor が fcitx5 と Firefox 間の通信を阻害しているようだと教えてもらった。
以下のコマンドで 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
Kubuntu は App Armor の Firefox プロファイルを無効化することで、fcitx5 による入力ができるようにしているとのこと。
KDE の Bugzilla にて、KDE neon でも AppArmor の Firefox プロファイルをデフォルトで無効化できないか相談中。