VS CodeのTerminalに終了コード 4294967295

4月 21, 2021Ubuntu(WSL),VSCode,仕事役立ち

概要

  • 今回は、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 を使用することができました。

 

参考資料