@ledsun blog

無味の味は佳境に入らざればすなわち知れず

WezTermでデフォルトシェルをWSLにする

結論

.wezterm.lua に次の行を書きます。

-- Start with WSL
config.default_prog = { 'wsl' }

間違った方法

COMSPEC 環境変数C:\Windows\system32\wsl.exe を設定します。 これをやるとバッチファイルが動かなくなります。 たとえばWindowsにインストールした、irbコマンドの実体はバッチファイルです。

C:\Users\led_l>where irb
C:\Ruby33-x64\bin\irb
C:\Ruby33-x64\bin\irb.bat

COMSPEC 環境変数C:\Windows\system32\wsl.exe を設定してirbを起動すると次のように失敗します。

バッチファイルの起動に失敗したところのスクリーンショット

なぜか fish-shell で起動しようとして、コマンドが見つからずに失敗します。 このエラーメッセージからCOMSPEC 環境変数を特定できずにずっと不思議に思っていました。

なぜこのような設定をしたのか?

WezTerm - @ledsun blog で設定していました。

どうもドキュメントの最初の方を読んで設定しました。 で、続きを読むと

It is not recommended to change COMSPEC, keep reading this page of the documentation to learn how to make wezterm run a different program.

COMSPECを変更することは推奨されない。weztermに別のプログラムを実行させる方法については、ドキュメントのこのページを読み続けること。

あー、なるほどねって思いました。