はじめに
VS CodeでWSL(Windows Subsystem for Linux)環境のプロジェクトを開こうとした際、「VS Code Server for WSL closed unexpectedly」というエラーが発生し、リモート接続できなくなることがあります。このエラーはWSLの設定やVS Code Serverの不整合など、さまざまな原因で発生します。本記事では、代表的な解決策をわかりやすくまとめます。
1. WSL側のVS Code Serverバイナリを削除する
一番多い原因は、WSL内のVS Code Serverバイナリが壊れている、または不整合が発生しているケースです。
この場合、WSL側でVS Code Serverのbin
ディレクトリを削除することで自動的に再インストールされ、解決することが多いです。
rm -rf ~/.vscode-server/bin/
VS Codeを一度終了してから上記コマンドを実行し、再度VS CodeでRemote WSL接続を試してください。
bin/
以下が空ファイルになっている場合なども、この方法で解決します。
2. WSLのパッケージを最新化する
必要なパッケージが不足していたり、証明書関連で問題が発生している場合もあります。
WSLのターミナルで以下を実行し、wget
とca-certificates
をインストール・更新しましょう。
sudo apt-get update && sudo apt-get install wget ca-certificates
3. 既定のWSLディストリビューションの確認・設定
複数のWSLディストリビューションを利用している場合、既定のディストリビューションと実際に起動しているものが食い違っているとエラーが出ることがあります。
PowerShellで以下を実行し、既定のディストリビューションを確認・設定しましょう。
wslconfig /l
wslconfig /setdefault
例:
wslconfig /setdefault Ubuntu-20.04
4. WSLの再起動
WSL自体の不調が原因の場合もあるため、WSLを再起動してみましょう。
wsl --shutdown
その後、再度WSLを起動してVS Codeから接続します。
5. 公式ドキュメントのトラブルシューティングを参照
VS Code公式のWSLトラブルシューティングガイドも参考になります。
ログの確認や詳細なデバッグ方法も掲載されています。
6. その他のチェックポイント
- VS Code本体やRemote - WSL拡張機能が最新か確認
- WSLのバージョン(できればWSL2推奨)やWindowsのアップデート状況を確認
- プロキシやウイルス対策ソフトの影響がないか確認
まとめ
「VS Code Server for WSL closed unexpectedly」は、WSL側のVS Code Serverバイナリ削除→自動再インストールで直るケースが多いですが、パッケージ不足やディストリ設定の不一致など他の要因も考えられます。
本記事の手順を順番に試し、解決しない場合は公式ドキュメントやWSLのログを確認しましょう。困ったときはまず「binディレクトリ削除」→「パッケージ更新」→「ディストリ設定」→「WSL再起動」の順で試してみてください!