0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Chromebook/Crostini】VS Codeで日本語入力(Fcitx/Mozc)ができない時の解決法

0
Posted at

ChromebookのLinux環境(Crostini)に公式サイトから.debでVS Codeをインストールし、Fcitx + Mozcも導入したのに、「ターミナルでは日本語が打てるのにVS Code上では入力できない」という現象に遭遇しました。

結論から言うと、原因は「VS Code(Electron)のWayland対応とFcitxの相性問題」でした。解決に至るまでの切り分けと、恒久的な対策をまとめます。

環境

  • Chromebook (ChromeOS)
  • Linux開発環境 (Crostini / Debian)
  • Visual Studio Code (公式サイトから.debでインストール)
  • Fcitx + Mozc (導入済み)

陥りがちな「ターミナルの罠」

トラブルシューティング中、「Linuxターミナル上では『かな/英数』キーで日本語が打てているからFcitxは正常に動いているはずだ」と思い込んでいました。

しかし、Chromebookの標準ターミナルはChromeOSのネイティブアプリです。ターミナル上で日本語が打てていたのは、Linux側のFcitxが動いていたわけではなく、ChromeOS本体のIMEが効いていただけでした。(Ctrl + SpaceによるFcitxの切り替えがターミナルで反応しなかったことで発覚しました)。

問題の切り分け方法

本当にLinux側でFcitxがGUIアプリに対して機能しているかを確認するため、標準的なLinuxアプリであるgedit(メモ帳)を使ってテストしました。

sudo apt install gedit
env GTK_IM_MODULE=fcitx XMODIFIERS=@im=fcitx gedit

gedit上ではFcitx経由で正常に日本語入力ができたため、「Linux環境のFcitx自体は正常だが、VS Code特有の環境(Electron/Wayland)が原因で日本語入力を弾いている」ということが確定しました。

解決策:X11モードで起動し、環境変数を渡す

VS Codeをターミナルから code . で起動する際、デフォルトのWaylandモードではなくX11モードを強制し、同時にFcitx用の環境変数を渡すことで解決します。

1. テスト起動

まずは以下のコマンドでVS Codeを起動し、日本語入力ができるか確認します。

env GTK_IM_MODULE=fcitx XMODIFIERS=@im=fcitx code . --ozone-platform=x11

これでFcitxが起動し、日本語入力ができれば成功です。

2. 恒久的な設定(エイリアスの登録)

毎回この長いコマンドを打つのは現実的ではないため、~/.bashrc にエイリアス(別名登録)を設定し、普段通り code . と打つだけでこの設定が適用されるようにします。

.bashrc を開く

nano ~/.bashrc

② 以下の1行を末尾に追記する

alias code="env GTK_IM_MODULE=fcitx XMODIFIERS=@im=fcitx code --ozone-platform=x11"

③ 設定を反映させる

source ~/.bashrc

これで、ターミナルから code . で起動しても、バッチリVS Code上で日本語入力ができるようになります!

まとめ

  • ターミナルで日本語が打てる=Fcitxが動いている、とは限らない(ChromeOS側のIMEが効いているだけの場合がある)。
  • GUIアプリの切り分けには gedit などのシンプルな標準アプリを使うと分かりやすい。
  • Wayland環境のChromebookでVS Code + Fcitxを使う場合は、--ozone-platform=x11 のオプションが必要。

同じ現象でハマっている方の参考になれば幸いです!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?