yasuです。
US配列キーボードのChromeBookにLinuxとVS Codeとfcitx5をインストールして、VS Codeで日本語入力切り替えをできるようにしたんだけど、試行錯誤して3時間くらいハマった挙げ句、正しい手順で設定すれば10分かからずに設定できるようになったので備忘録として残しておきます。
目次(クリックで開閉)
前提
Google ChromeOS バージョン
Google ChromeOSのバージョンは145.0.7632.154です。

Google ChromeOS 日本語切り替えショートカットキー設定

| 次の利用可能な入力方法に切り替える | ctrl + shift + space |
| 前回選択した言語に切り替える | ctrl + space |
を設定しています。
ターミナルおよびVS Code上の日本語切り替えショートカットキーの挙動
ターミナル上ではCtrl + Shift + Spaceで日本語切り替えができるのですが、Ctrl + Spaceでは日本語切り替えはできません。
VS Code上ではCtrl + Shift + SpaceもCtrl + Spaceどちらも日本語切り替えができない状態です。
fcitx5インストール
Linuxにfcitx5をインストールします。
sudo apt update && sudo apt install fcitx5 fcitx5-mozc -y
環境変数の設定
Linuxでfcitx5が使えるよう環境変数を設定します。
次回ターミナル起動時に自動でfcitx5が起動するようにも設定します。
cat << EOF >> ~/.bashrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
EOF
# fcitx5が動いていない場合のみ起動する
if ! pgrep -x "fcitx5" > /dev/null
then
fcitx5 > /dev/null 2>&1 &
fi
設定を反映させます。
※反映と同時にfcitx5が起動します
source ~/.bashrc
日本語入力設定
fcitx5で日本語入力ができるように設定します。
下記コマンドを実行して、設定画面を開きます。
fcitx5-configtool
設定画面起動直後のCurrent Input Method:の一覧(左側の一覧)には「Keyboard – English (US)」しかない状態だと思います。

右側の「Available Input Method:」の[Search Input Method]となっているテキスト欄に「mozc」と入力します。すると下の一覧には「Mozc」が表示されるはずです。

「Mozc」を選択して画面中央にある「←」ボタンをクリックし、Current Input Method: の一覧に「Mozc」を移動します。

続いて[Global Option]タブを選択し、一番上にある「Trigger Input Method:」の[Control+Space]をクリックしたら[Ctrl] + [Shift] + [Space]キーを押下して、設定を[Control+Shift+Space]に変更してあげます。

これで[OK]ボタンをクリックします。
ターミナルから起動したVS Codeで日本語入力切り替え確認
ターミナルに下記コマンドを実行し、VS Codeを起動します。
code --ozone-platform=x11
VS Codeが起動した直後は英語入力ですが、Ctrl + Shift + Spaceを押下すると日本語が入力できるようになります。

VS Codeアイコンから起動したVS Codeで日本語入力切り替え
毎回コマンドでVS Codeを起動するのは面倒くさいので、VS Codeのアイコンから起動したらオプション[–ozone-platform=x11]が付いた状態で起動するようにします。
sudo vi /usr/share/applications/code.desktop
----------------
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/code/code %F
Icon=vscode
Type=Application
StartupNotify=false
StartupWMClass=Code
Categories=TextEditor;Development;IDE;
MimeType=application/x-code-workspace;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Name[cs]=Nové prázdné okno
Name[de]=Neues leeres Fenster
Name[es]=Nueva ventana vacía
Name[fr]=Nouvelle fenêtre vide
Name[it]=Nuova finestra vuota
Name[ja]=新しい空のウィンドウ
Name[ko]=새 빈 창
Name[ru]=Новое пустое окно
Name[zh_CN]=新建空窗口
Name[zh_TW]=開新空視窗
Exec=/usr/share/code/code --new-window %F
Icon=vscode
上記がVS Codeのアイコンの初期状態です。
このExec部分を下記のように修正してファイルを保存します。
※表示上複数行になって見えますが、1行で設定してくださいね
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=env GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx /usr/share/code/code --ozone-platform=x11 --disable-gpu %F
Icon=vscode
Type=Application
StartupNotify=false
StartupWMClass=Code
Categories=TextEditor;Development;IDE;
MimeType=application/x-code-workspace;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Name[cs]=Nové prázdné okno
Name[de]=Neues leeres Fenster
Name[es]=Nueva ventana vacía
Name[fr]=Nouvelle fenêtre vide
Name[it]=Nuova finestra vuota
Name[ja]=新しい空のウィンドウ
Name[ko]=새 빈 창
Name[ru]=Новое пустое окно
Name[zh_CN]=新建空窗口
Name[zh_TW]=開新空視窗
Exec=env GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx /usr/share/code/code --new-window --ozone-platform=x11 --disable-gpu %F
Icon=vscode
VS Codeを終了します。
VS Codeのアイコンをクリックして、VS Codeを起動します。
するとどうでしょうか?
アイコンから起動したVS Codeでも日本語入力ができるようになりました。
