ChromebookのVS Codeで日本語を使えるようにする 【2026年8月時点】
ChromebookのLinux開発環境にVS Codeを入れたところ、日本語は表示できるのに入力できないという状態になりました。 調べるとmozcを入れろだの色々ありましたがなくても行けたのでその共有を。
色々試行錯誤した結果ChromeOSの日本語入力をWayland経由でVS Codeへ渡す設定で解決できたので、実際に動いた手順をまとめます。この記事の内容は2026年8月12日時点のものです。
今回確認した環境
使っている端末はLenovo IdeaPad Duet 10です。Linuxターミナルで実際の環境を確認すると、次の構成でした。
| 項目 | 今回の環境 |
|---|---|
| 端末 | Lenovo IdeaPad Duet 10 |
| Linux環境 | Debian 13.6(trixie) |
| CPUアーキテクチャ | arm64 |
| Linuxカーネル | 6.6.119-09283-g9c138e0af8c3 |
| VS Code | 1.132.1(arm64) |
| 日本語フォント | fonts-noto-cjk 20240730 |
| ChromeOS側の入力連携 | cros IME |
VS Codeのバージョンは次のコマンドで確認できます。
code --version
Linuxの種類とCPUアーキテクチャも確認しておくと、ほかの環境で手順を試すときの参考になります。
cat /etc/os-release
dpkg --print-architecture
ChromeOSやVS Codeの更新で挙動が変わる可能性があるので、同じChromebookでもバージョンが違えば結果も変わるかもしれません。
起きていた症状
最初はVS Codeを日本語表示にすると文字が「□」になり、その問題を直した後も日本語入力だけができませんでした。
日本語が「□」になる場合
まず、Linux側に日本語フォントがあるか確認します。
fc-list :lang=ja family | sort -u
フォントがなかったのでとりあえずインストール。
人によって色々好みはあると思いますが、とりあえず使えるものを貼っておきます。
sudo apt update
sudo apt install fonts-noto-cjk
fc-cache -f
fonts-noto-cjkは、Debian公式で配布されている日本語・中国語・韓国語向けのフォントパッケージです。Debianのパッケージ情報にも、Noto Sans CJK JPやNoto Sans Mono CJK JPなどが含まれることが記載されています。
インストール後はVS Codeを完全に終了し、起動し直します。それでもエディタ内の文字が「□」になる場合は、VS Codeの設定でフォントを指定します。
"editor.fontFamily": "'Noto Sans Mono CJK JP', monospace",
"terminal.integrated.fontFamily": "monospace"
ChromeOSのIMEがLinuxへ渡っているか確認する
次に、Linuxターミナルで以下を実行します。
echo "$GTK_IM_MODULE"
今回の環境では次のように表示されました。
cros
ChromeOSのcros_imは、ChromeOS側のIMEをWayland経由でLinuxアプリから使うための仕組みです。ChromiumOSの公式READMEでも、GTK_IM_MODULE=crosを使うことと、Electron系アプリを含むGTK3アプリへの対応が説明されています。
crosと表示され、通常のLinuxターミナルでは日本語入力できるのにVS Codeだけで入力できないなら、ChromeOSとLinuxの連携よりもVS Codeの起動方法を疑った方がよさそうです。
VS CodeをWayland IME対応で起動する
VS Codeを一度完全に終了します。ウィンドウをすべて閉じてから、Linuxターミナルで次のコマンドを実行しました。
GTK_IM_MODULE=cros code \
--ozone-platform=wayland \
--enable-wayland-ime \
--wayland-text-input-version=1
これで、VS Codeのエディタと統合ターミナルの両方で日本語入力できるようになりました。
今回必要だった指定は次の4つです。
GTK_IM_MODULE=cros
--ozone-platform=wayland
--enable-wayland-ime
--wayland-text-input-version=1
最初はcode --ozone-platform=x11も試しましたが、このChromebookでは改善しませんでした。逆にWaylandを明示し、その入力機能を有効にする方が合っていたようです。
なお、VS Codeのプロセスが残っていると、新しく実行したcodeコマンドが既存のプロセスへ接続し、追加した引数がうまく反映されないことがあります。試す前にすべてのVS Codeウィンドウを閉じておくのが確実です。
ランチャーから起動しても使えるようにする
毎回長いコマンドを入力するのは面倒なので、ランチャーが読む.desktopファイルにも同じ指定を追加します。
これはChromebookのアイコンから起動したときに呼ばれるやつです。
まず、現在使われているファイルとExec=行を確認します。
grep '^Exec=' /usr/share/applications/code.desktop
編集する前に、元のファイルを同じディレクトリへ.bak付きで保存しておきます。システム側のファイルをコピー・編集するため、コマンドにはsudoが必要です。
sudo cp /usr/share/applications/code.desktop /usr/share/applications/code.desktop.bak
ls -l /usr/share/applications/code.desktop*
sudo nano /usr/share/applications/code.desktop
編集後に元へ戻したい場合は、次のコマンドでバックアップから復元できます。
sudo cp /usr/share/applications/code.desktop.bak \
/usr/share/applications/code.desktop
通常起動用のExec=行を次の形にします。%Fは消さずに残します。
Exec=/usr/bin/env GTK_IM_MODULE=cros /usr/share/code/code --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=1 %F
同じファイルの[Desktop Action new-empty-window]にもExec=行がある場合は、こちらも変更します。
Exec=/usr/bin/env GTK_IM_MODULE=cros /usr/share/code/code --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=1 --new-window %F
保存したら、端末を再起動してVS Codeを起動してみましょう。
今回の環境では、これでランチャーから開いた場合も日本語入力できました。
まとめ
今回のLenovo IdeaPad Duet 10では、日本語表示にはNoto CJKフォント、日本語入力にはChromeOSのcros IMEとWayland向けのVS Code起動オプションが必要でした。
特に、Linuxターミナルでは日本語入力できるのにVS Codeだけ入力できない場合は、次の起動方法を試す価値があります。
GTK_IM_MODULE=cros code \
--ozone-platform=wayland \
--enable-wayland-ime \
--wayland-text-input-version=1
ChromebookのLinuxまわりは、古い記事だとfcitxやMozcをLinux側へ追加する方法も出てきます。しかし今回の環境ではGTK_IM_MODULE=crosがすでに設定されており、ChromeOS側の日本語入力を使えました。まず現在の環境をコマンドで確認してから設定するのがよさそうです。
追記:Vim拡張機能は使えなかった
私の環境ではVim拡張機能を有効にしていると、変換候補は表示されても、確定した文字がエディタへ反映されませんでした。Vim拡張機能を無効にすると正常に日本語入力できたため、今回は使用を断念しています。
別にVimmerというわけではないけどずっと使ってきたので使えないのは不便。。まぁオフにすればふつーに使えます。
同じ症状が出る場合は、Vim拡張機能を無効にしてVS Codeを起動し直してみてください。
コメント