Ubuntu + Chrome で「Shift が勝手に入力される / 日本語入力できない」問題の記録

に公開

忙しい人用

  • 原因は fcitx が systemd user environment に永続保存されていたこと
  • 設定ファイルを消しても直らなかったのは ログアウトでは user environment が消えないため
  • systemctl --user unset-environmentloginctl terminate-user で 完全に除去
  • その後 ibus + Mozc を明示的に有効化して解決

発生していた症状

  • Ubuntu(X11 セッション)
  • Chrome 上で Shift が押しっぱなしのような挙動
  • 日本語入力ができない
    nihongo nyuuryoku dekinai のようにローマ字がそのまま出る)
  • Ubuntu + Chromeのバグで解決のためにはfcitxを無効化する必要がある
  • fcitx を削除・無効化しても、再ログインすると fcitx が復活

環境

  • Ubuntu 22.04 / 24.04 系
  • GNOME
  • Google Chrome
  • ibus / fcitx5 / Mozc を過去に切り替えた履歴あり

systemd user environment が原因だった

状況確認

systemctl --user show-environment | grep -i fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

問題点

  • 上記は設定ファイル由来ではない
  • systemd user セッションに保持された環境変数
  • 通常のログアウトでは消えない

解決手順

1. environment から fcitx を削除

systemctl --user unset-environment GTK_IM_MODULE QT_IM_MODULE XMODIFIERS

2. user セッションを完全終了

  • これは結構大事だった
  • 通常のログアウトではIME設定がクリアされない部分があるよう
loginctl terminate-user $USER

※ この時点で強制ログアウトされる(正常)


3. 再ログイン後の確認

systemctl --user show-environment | grep -i fcitx

何も表示されなければ成功。


日本語入力(Mozc)有効化

エンジン確認

ibus list-engine | grep mozc

Mozc を有効化

ibus engine mozc-jp

もしくは GUI

ibus-setup
  • Input Method → Add → Japanese → Mozc

結果

  • ✅ 日本語入力が復活
  • ✅ Shift 勝手入力が解消
  • ✅ 再起動しても再発なし

学び

  • IM 周りの問題ではsystemctl --user show-environment を必ず確認する
  • 通常のログアウトで直らない場合、systemd user environment を疑う

Discussion