🕌

VS Code Remote WSL接続不良と復旧

に公開

本ブログについて

VS CodeからWSL(Ubuntu24.04)に接続を試みた際に接続不良が生じたため、その想定される原因と対処法を備忘かねて記す。

1. 事象の概要

現象:VS Code Remote – WSL 接続時に、WSL 側の VS Code Server (code-server) が起動直後に強制終了し、接続が完了しない。

ログ抜粋:

[2025-10-29 15:37:47.050] Setting up server environment: Looking for ... Not found.
[2025-10-29 15:37:47.050] Starting server: .../bin/code-server --host=127.0.0.1 --port=0 ...
[2025-10-29 15:37:47.052] NodeExecServer run: ... -e kill 718

→ サーバープロセスが起動直後に kill され、接続が途切れていた。

2. 原因

WSL 内の VS Code Server(該当コミットID: 7d842fb85a0275a4a8e4d7e040d2625abbf7f084)のバイナリまたはキャッシュ破損。

.vscode-server/bin/<COMMIT> 以下のサーバーバイナリおよび .pnpm キャッシュ、.log、.json ファイルを削除し再インストールしたところ、正常に起動した。

よって、破損した VS Code Server 構成の再生成によって問題が完全に解消したことから、これを主原因と断定。

なお、コミットIDは以下のようなログから確認可能。

[2025-10-29 15:37:47.050] Node executable: .../.vscode-server/bin/**7d842fb85a0275a4a8e4d7e040d2625abbf7f084**/node

3. 対処内容

WSL 上で以下のコマンドを実行:

# ① 対象コミットIDを削除
COMMIT=7d842fb85a0275a4a8e4d7e040d2625abbf7f084
rm -rf ~/.vscode-server/bin/$COMMIT

# ② キャッシュ/ログ類を削除
rm -rf ~/.vscode-server/.pnpm ~/.vscode-server/*.log ~/.vscode-server/*.json

# ③ 念のためディスクとinodeを確認
df -h
df -i

実行後、VS Code 再接続時にサーバーが自動再インストールされ、即時に正常動作を確認。

4. 再発防止策

  • クリーンアップ手順の定期適用
    .vscode-server/bin/<COMMIT> 配下に不整合が生じることがあるため、接続不良時は上記手順を再実施。

  • セッション終了時の注意
    長時間のスリープや強制終了を避け、VS Code → WSL の順に安全に終了する。

  • ストレージ監視
    df -h および df -i による空き容量と inode の定期確認。

  • 拡張破損対策(任意)
    拡張機能が起因する場合に備え、~/.vscode-server/extensions をリセットする手順を別途用意しておく。

5. 結論

本件の接続不良は、WSL 内の VS Code Server バイナリおよびキャッシュ破損が原因であり、
該当コミットディレクトリの削除と再インストールにより完全復旧した。
同様の事象発生時は、本手順を一次対応として再現性をもって解消できる。

Discussion