VSCode, Chromeがibus-mozcで日本語入力できなかったのでfcitx5に移行した (Ubuntu 22.04)

Ubuntu 22.04で日本語環境を構築した際、VSCodeやChrome(Electron系アプリ)で日本語入力ができない問題に遭遇しました。

結論として、fcitx5へ移行したら解決したので、備忘録として残します。

起きていた問題

UBuntu 22.04 (GNOME + X11 + GTK3) 環境で次の状況になりました。

ibusで色々ためしてみたもののうまく設定できなかったので、fcitx5へ移行することにしました。

ibusの場合, Electron系アプリ(Chrome, VSCode)や一部QtアプリではIME連携が不安定になることがあるようです。

fcitx5移行前の設定

echo $GTK_IM_MODULE
echo $QT_IM_MODULE
echo $XMODIFIERS

# 出力 
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus

fcitx5への移行手順

パッケージインストール

GTK/Qtフロントエンド込みでインストールします。

$ sudo apt update
$ sudo apt install \
  fcitx5 fcitx5-mozc \
  fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 \
  fcitx5-frontend-qt5 \
  fcitx5-config-qt

fcitx5への切り替え

次のコマンドを実行します。

$ im-config -n fcitx5

~/.xinputrcrum_im fcitx5が追加されるようになります。

Mozcの有効化

fcitx5-config-qt を起動し、GUIから日本語(Mozc)を追加しました。

設定確認

ログアウトしてから再度ログインして、正しく設定されているか確認しました。

$ echo "GTK_IM_MODULE=$GTK_IM_MODULE"
echo "QT_IM_MODULE=$QT_IM_MODULE"
echo "XMODIFIERS=$XMODIFIERS"
env | grep -E 'IM_MODULE|MODIFIERS'

# 出力
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
QT_IM_MODULE=fcitx
GTK_IM_MODULE=fcitx
CLUTTER_IM_MODULE=xim
XMODIFIERS=@im=fcitx
$ im-config -m

# 出力
default
fcitx5
ibus

ibus

im-configを見るとibusが利用されているように見えますが、~/.xinputrcでfcitx5を設定しているのでfcitxが動いているようです。 問題ないみたいです。

ibus関連設定の後片付け

GNOME入力設定からJapanese (Mozc)を削除

ibusで設定していたmozcを削除しました。

古い ibus 関連プロセスを停止

ibus exit
killall ibus-daemon

ibus の残存設定をディレクトリごと削除

rm -rf ~/.config/ibus
rm -rf ~/.local/share/ibus

ibus関連パッケージ削除はしないほうがよさそう

ibusのライブラリを削除してみたところ, GUIのセッションを扱っているgdm3が自動削除されてしまい、GUI画面が落ちてしまいました。 ibus自体はGNOMEへの依存があるため、アインストールはせず、fcitx5のみをIMEとして設定しておく運用がよさそうです。

この設定で、問題なく日本語設定ができるようになりました。

Ko-fi donationsSupport Me on Ko-fi