はじめに
KDE Neon(UbuntuベースのLinuxディストリビューション)のアップデート後、Google Chrome上だけで特定のショートカットやShiftキーを使った入力が突然使えなくなる現象に遭遇。
原因と対処法を備忘録としてまとめる。
環境
- OS: KDE Neon (Plasma 6アップデート以降)
- セッション: Wayland
- ブラウザ: Google Chrome
発生した症状
Chrome上でのみ、特定の文字入力・操作が機能しなくなった。
-
Ctrl + cCtrl + aCtrl + zなどが効かない - 英字入力時に
Shift + aで大文字の「A」にならない、Shift + 9で「 ( 」が打てない -
Shift + 矢印での文字選択ができない
ただし、以下の操作はできた。
-
Ctrl + w(タブ閉じ)やCtrl + t(新しいタブ)、Ctrl + マウスホイール(拡大縮小)は正常に機能する - 日本語入力(Mozc)の状態では問題なく使える
- Dolphinなどの他のアプリケーションでは全く問題が発生しない
原因
Wayland環境でネイティブ動作するためにChromeにはOzoneという機能があり、Fcitx5などの入力メソッド(IME)と競合を起こしてしまったことが原因。
Ctrl + W などが動くのは、Chrome本体のシステムショートカットとして別経路で処理されているため
対処法
以前は chrome://flags からOzoneプラットフォームの設定を変更できたが、最近のChromeのアップデートでこの項目は隠蔽されてしまったため、起動オプションで明示的に指定する必要がある。
ChromeをWaylandネイティブではなく、強制的に X11互換モード(XWayland) で起動させることで解決する。
1. 動作テスト
まずはターミナルからX11モードで起動して症状が改善するか確認する。
google-chrome-stable --ozone-platform=x11
これで問題なくショートカットが使えるようになれば、原因は確定。
2. 恒久的に設定を適用する
直接 /usr/share/applications/ 内のファイルを編集すると、Chromeがアップデートされるたびに設定が初期化されてしまうため、~/.local/share/applications/に .desktop ファイルをコピーしてそちらを編集する。
cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications/
お好みのエディタで編集。
nano ~/.local/share/applications/google-chrome.desktop
ファイル内にある Exec= から始まる行(通常起動、新しいウィンドウ、シークレットモードの計3箇所)を探し、実行コマンドの間に --ozone-platform=x11 を追記する。
# 変更前:
Exec=/usr/bin/google-chrome-stable %U
Exec=/usr/bin/google-chrome-stable
Exec=/usr/bin/google-chrome-stable --incognito
# 変更後:
Exec=/usr/bin/google-chrome-stable --ozone-platform=x11 %U
Exec=/usr/bin/google-chrome-stable --ozone-platform=x11
Exec=/usr/bin/google-chrome-stable --ozone-platform=x11 --incognito
ファイルを保存して閉じる。
バックグラウンドで動いているChromeを完全に終了させてから、通常通りChromeを起動すればショートカットや大文字入力が正常に行えるようになっている
おわりに
Wayland移行に伴い、ElectronアプリやChromium系ブラウザでのIME関連の不具合はまだ散見される。同様の入力トラブルが起きた場合は、まずX11(XWayland)モードでの起動を試してみる。