「Waylandメインにして半月が経った」からおよそ1ヶ月半経ちました。いろいろあったのでレポートしておこうと思います。
Ubuntu24 + X11 + iBusの「日本語二重入力問題」
「半月が経った」では、Fcitx 5を使っていました。しかし、これを使っていた理由は、Ubuntu 24 + X11 + iBusだと、gnome desktopでファイル名を変えようとしたり、デフォルトの「テキストエディター」で日本語の文章を打っていると、日本語の文章が重複するという不具合があったからです。
以下、おそらく同様の問題です。
- ubuntu24.04.1 で、「ファイル」アプリや「テキストエディター」の日本語入力がおかしいとき
- Ubuntu24.04 でファイルエクスプローラnautilusのファイル、フォルダ名入力時に日本語が二重入力される問題をChatGPT5に解決してもらった。(再起動時になぜか日本語入力ができなくなるバグの、再起動なしの復旧方法も)
対応としては、X11では、iBusをやめてFcitx5にするということになります。
Wayland + iBusで始まるSHIFTキー固着問題
というわけで、今回はWaylandにしたわけですし、「せっかくWaylandにしたんだから、なるべくシンプルにしたい。これを機にiBusにしてみよう」……ということで、2月の後半(ちょうど一ヶ月目辺り)にiBusにしてみました。
さて、iBusにしたら、日本語二重化問題はなくなったんでしょうか? ……それが記憶がないんです。でも、記憶がなくても問題ないんです。そんなことが問題にならないくらい、Wayland + iBusは地獄なのです。唐突に起こるSHIFTキー固着問題の前には。
わりと上記先行事例そのままなんですが、キーボードで文字を入力していると、突然起こるのです。アルファベットは大文字しか打てなくなり、数字も1が!になったりするので打鍵不能。キーバインド類はSHIFTキーが押下されたままの反応になり、マウスクリックは複数選択(範囲選択)状態になる。
CodexやChatGPTに相談して、
- libinput は正常(pressed/releasedが出てる)
- journalctlに異常は振る舞いは見られない
というような感じで、根本的な原因がつかめない。
ぼくがxremapを使っていることから、CodexとChatGPTは、xremap(--features gnome)が原因だろうと、xremapのログや状況を確認してみるのだけど、決め手に欠ける状況が続く(ぼくとしてはxremapが原因だと、そうとうツラいので、そうあってほしくもない)。
上記Redditの記事だと、月1〜2回ということですが、そんなことない。ほぼ毎日、なんだったら多いときは1日3回くらい起こる。
というわけで、これはたまらんと、いったんX11に里帰りしました。
X11里帰り期間
2026年3月4日から3月8日までのあいだ、X11に里帰りをしました。X11では、冒頭に書いた「日本語二重入力問題」がしっかり残っているのでfcitx5に差し替えます。さて、この里帰りのあいだ、毎日のように起こっていた「SHIFTキー固着問題」はピタリと止まります。これはもう、Wayland + iBusで確定だな、と3月9日、Waylandに戻ります。
完全解決ではない Wayland + fcitx5
Wayland + fcitx5に戻って数日。SHIFTキー固着のない日々が続き、やはりWayland + iBusだったか、と結論づけようとした2026年3月13日、なんとWayland + fcitx5でもSHIFTキー固着が起こってしまいました。そうとう落ち込む気持ちで、Redditにあった「左右のSHIFTキーを交互に連打する」をやってみたところ、そのときはスコっと治ってしまいました。
もう一回起こったら、今度はもうちょっと丁寧に確認しようと思っていたんですが、仕事も忙しく、気がついたら、数日経っていました(本日は2026年3月17日)。
気持ちの悪さはあるものの、これくらいの頻度だったら、かつ「左右のSHIFTキーを交互に連打」でなおるんだったら、もうちょっと様子見かな、と思っています。どうにもだめなら、まだX11に戻らないといけないかもしれませんが。
関連情報: iBusとのお別れ
途中、Codexから、「iBusがクロなら、fcitxに環境を寄せたほうが安定する」とアドバイスを受け、以下のような措置をしています。
im-config -n fcitx5
- 入力メソッドの既定を fcitx5 にする処理
systemctl --user disable --now org.freedesktop.IBus.session.GNOME.service
systemctl --user mask org.freedesktop.IBus.session.GNOME.service
- ユーザー systemd の IBus 用 service を「今止める」かつ「次回以降の自動起動も無効化する」と「その service を起動不能にする」処理。
これが奏功しているかは、今の所わかりません。