VS CodeのTerminalに終了コード 4294967295
概要
- 今回は、VS CodeのTerminalでUbuntu選択後に「終了コード 4294967295」のエラーを経験しましたので、対処方法を記録します。
発生した詳しい状況
- 先ず、こちらの記事でも紹介させていただいた WSL1 をWSL2へ移行しました。
- 次に、VS Code を起動し、ターミナルにおいて「New Ubuntu (既定)(WSL)」を選択しました。
- しかし、「ターミナル プロセス “C:\WINDOWS\System32\wsl.exe '-d’, 'Ubuntu (既定)'" が終了コード 4294967295 で終了しました。」のエラーメッセージが出力され、Ubuntu(WSL)の切り替えはできませんでした。
- 先ず、WSL2 に移行したUbuntu側を調査しました。以下はPowerShell のwsl -l -vコマンドの結果です。WSL2 へ移行後の Ubuntu は起動可能な状態であることを確認しました。
PS C:\WINDOWS\system32> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
- 次に、こちらのIssue を読み、下記のコマンドを実行しましたが改善されませんでした。
PS C:\WINDOWS\system32> netsh winsock reset
Winsock カタログをリセットしました。
リセットを完了するためにコンピューターを再起動する必要があります。
- Issue に記載されてる事象と発生原因は異なるようです。先ず、原点に戻り、VS Code のターミナル設定を見直すことにしました。
対処方法
- 今回の対処はシンプルです。「New Ubuntu (既定)(WSL)」の切り替えは使用しません。
- VS Code の設定を開き、「terminal.integrated.shellArgs.windows」に下記を設定します。
"terminal.integrated.shellArgs.windows": ["wsl"]
- VS Code のIntegrated Terminal に"wsl" を指定することにより、VS Code起動時のデフォルトシェルが変更され、VS Code起動時にWSL も起動されます。
- その結果、Terminal において「wsl」を選択することで、TerminalにUbuntu を使用することができました。