WSL と Google 日本語入力

久しぶりに記事を書く。

最近は Windows 11 の WSLg での作業が非常に快適なので、別だてのサーバーにSSH接続することも、Virtual Box 等を使うこともなくなった。スタートメニューから WSL環境のターミナルソフト(Terminator)を起動し、コーディングは VSCode。これでまったく問題ない。

さて、そんな快適な環境で作業をすすめていたところ、なんの気無しに WSL の更新をしてみた。ターミナルを開いて

$ wsl --update

再び WSL での作業を再開してみると、Terminator への入力がおかしなことに。使っているのは日本語配列キーボードなのに、入力されるのは英字配列。

まずはWindowsから再起動し様子を見てみる。初回の Terminator 起動時には問題ない。まったく問題がないわけではなくて、ウィンドウサイズ等の設定が反映されていない等気になるところはあるのだが、少なくともキーボード入力は良い。

一度 Terminator を閉じて、再度起動。ウィンドウサイズ等は一見問題なさそうだが、やっぱり英字配列になっている。起動に必要な時間を考えると、Xサーバーは動き続けているような気もするので、Xの初期化の問題ではないだろう。

いろいろ設定をいじってみても、まったく問題解決にいたる気配がない。

解決したわけじゃないけど、原因は多分わかった?

どうやら問題は Google 日本語入力にあるらしい。問題が本当に Google 日本語入力側にあるのかは良くわからないが、WSLg と Google 日本語入力の相性だろう。Microsoft IME に切り替えると、まったく問題ない。Google 日本語入力にもどすと英字配列になる。

他のアプリならば Google 日本語入力になんら問題ないので、完全に WSLg との相性に思える。Windows ターミナル上での wsl セッション、VSCode のターミナル、その他 Windows 用ターミナルソフトウェア (Tabby 等)でも問題ない。

Windows側でキー入力情報が Google 日本語入力にわたり、その出力が WSLg 環境に渡されるのだろうか?なぜか最後のパスで日本語配列キーボードを使っている情報が抜け落ちる?