ChromebookやChromeOS FlexのLinux環境(Crostini)でVS Codeを使っていると、「日本語が入力できない」「英数字しか打てない」「変換候補が出てこない」という問題に直面することがあります。
最近のアップデートにより、VS Code(Electron)の描画方式が変わったことが主な原因です。今回は、その中でも最も確実性の高い解決策の一つである「起動オプションで表示プロトコルをX11に固定する方法」を解説します。
なぜ日本語入力ができなくなるのか?
現在、ChromeOSのLinux環境は「Wayland」という新しい描画方式への移行が進んでいます。しかし、VS Codeが採用しているフレームワーク(Electron)とWaylandの組み合わせにおいて、OS側の日本語入力(IME)がうまく連携できないという相性問題が発生しています。
これを、従来からある安定した方式「X11」で起動するように指定することで、問題を回避できます。
対策:VS CodeをX11モードで起動する
ステップ1:動作確認(ターミナルから起動)
まずは、この設定で本当に直るかどうかをターミナルからテストします。
- Linuxのターミナルを起動します。
- 以下のコマンドを入力して実行してください。
code --ozone-platform=x11
この状態でVS Codeが立ち上がったら、適当なファイルで日本語入力ができるか試してみてください。無事に日本語が打てるようであれば、次の「恒久的な設定」に進みます。
ステップ2:ランチャーの設定を書き換える(恒久的な対策)
毎回ターミナルからコマンドを打つのは大変です。アプリ一覧のアイコンから起動したときも常にX11モードになるように、設定ファイルを書き換えます。
- ターミナルで設定ファイルを開きます(管理者権限が必要です)。
sudo nano /usr/share/applications/code.desktop
- ファイルの中から
Exec=で始まる行を探します。通常は以下のような記述になっています。
Exec=/usr/share/code/code --unity-launch %F
- この記述の
codeの直後に--ozone-platform=x11を追記します。
# 修正後
Exec=/usr/share/code/code --ozone-platform=x11 --unity-launch %F
- 書き換えたら、
Ctrl + O→Enterで保存し、Ctrl + Xでエディタを閉じます。
ステップ3:VS Codeを完全に再起動する
設定を反映させるため、一度VS Codeを完全に終了させます。
- VS Codeを閉じます。
- 念のため、シェルフ(タスクバー)の「Linux」アイコンを右クリックして「Linuxをシャットダウン」を選び、Linux環境を再起動すると確実です。
- 再びアプリ一覧からVS Codeを起動します。
これで、次回以降はアイコンをクリックするだけで日本語入力が可能な状態で立ち上がるようになります!
まとめ
Chromebookでのプログラミングは非常に快適ですが、日本語入力のトラブルは大きなストレスになります。
もし今回ご紹介した --ozone-platform=x11 でも改善しない場合は、VS Codeの設定内にある 「Editor: Edit Context」 をオフにする方法も併せて試してみてください。
皆さんのChromebookライフがより快適になることを願っています!

コメント