VSCode の統合ターミナルで WSL が使えなくなった
VSCode の統合ターミナルで WSL のシェルを開こうとしたところ、マウントがどうのこうの、詳しくは dmesg をだの、というメッセージが一瞬だけ表示されて異常終了する事態に陥った。
何やコレと思って調べてみたところ、WSL の既定のディストリビューションが Ubuntu でないとこうなるようだ。
PS> wslconfig /l
Linux 用 Windows サブシステム ディストリビューション:
docker-desktop-data (既定)
docker-desktop
Ubuntu
あれま、なぜか Docker 用の変なのが既定になっとる。というワケで以下で直す。
PS> wslconfig /s ubuntu
PS> wslconfig /l
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)
docker-desktop-data
docker-desktop
VSCode での統合ターミナルの設定は次の1行だけで良い。shellArgs
の指定は要らない。なんなら Ctrl + Shift + P
でコマンドパレットを表示して「ターミナル: 既定のシェルの選択 (Terminal: Select Default Shell)」で指定しても同じ設定が settings.json
に追記される。
{
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe"
}
コレで直った。