VS Code中WSL无法启动:已尝试更新、关机及重启电脑
WSL2 显示Running但VS Code Remote无法启动的解决办法
问题概述
- WSL2 Ubuntu通过
wsl -l -v显示处于Running状态,但实际功能异常 - 在Ubuntu终端执行
code .时,VS Code Server意外关闭,无法建立远程连接 - 已尝试
wsl --shutdown、重启系统、更新WSL至最新版本,问题未解决
问题日志
[2023-01-23 06:26:26.345] 正在WSL(wsl2)内启动VS Code Server [2023-01-23 06:26:26.345] 扩展版本:0.72.0 [2023-01-23 06:26:26.345] Windows版本:19044。多发行版支持:可用。WSL路径支持:已启用 [2023-01-23 06:26:26.346] 未设置或找到当前发行版的Shell环境。 [2023-01-23 06:26:26.507] WSL守护进程日志文件: [2023-01-23 06:26:26.510] 探测服务器是否已安装:C:\WINDOWS\System32\wsl.exe -d Ubuntu -e sh -c "[ -d ~/.vscode-server/bin/97dec172d3256f8ca4bfb2143f3f76b503ca0534 ] && printf found || ([ -f /etc/alpine-release ] && printf alpine-; uname -m)" [2023-01-23 06:26:29.965] 探测结果:found [2023-01-23 06:26:29.966] 在WSL中找到已安装的服务器 [2023-01-23 06:26:29.967] 启动命令:C:\WINDOWS\System32\wsl.exe -d Ubuntu sh -c '"$VSCODE_WSL_EXT_LOCATION/scripts/wslServer.sh" 97dec172d3256f8ca4bfb2143f3f76b503ca0534 stable code-server .vscode-server --host=127.0.0.1 --port=0 --connection-token=1837640582-1523319798-660006518-1171681990 --use-host-proxy --without-browser-env-var --disable-websocket-compression --accept-server-license-terms --telemetry-level=all' [2023-01-23 06:26:30.216] 设置服务器环境:查找/home/samtimus/.vscode-server/server-env-setup,未找到。 [2023-01-23 06:26:30.216] WSL版本:5.15.79.1-microsoft-standard-WSL2 Ubuntu [2023-01-23 06:26:30.216] WSL-shell-PID:13 [2023-01-23 06:26:30.216] Node可执行文件:/home/samtimus/.vscode-server/bin/97dec172d3256f8ca4bfb2143f3f76b503ca0534/node [2023-01-23 06:26:30.216] 启动服务器:/home/samtimus/.vscode-server/bin/97dec172d3256f8ca4bfb2143f3f76b503ca0534/bin/code-server --host=127.0.0.1 --port=0 --connection-token=1837640582-1523319798-660006518-1171681990 --use-host-proxy --without-browser-env-var --disable-websocket-compression --accept-server-license-terms --telemetry-level=all [2023-01-23 06:26:30.217] 适用于WSL的VS Code Server意外关闭。 [2023-01-23 06:26:30.217] 如需解决启动问题,请访问https://code.visualstudio.com/docs/remote/troubleshooting#_wsl-tips [2023-01-23 06:26:30.222] C:\WINDOWS\System32\wsl.exe -d Ubuntu -e kill 13 [2023-01-23 06:26:30.546] WSL守护进程已退出,代码为0 PS C:\Users\User> wsl -l -v NAME STATE VERSION * Ubuntu Running 2 PS C:\Users\User> wsl --update Checking for updates. The most recent version of Windows Subsystem for Linux is already installed.
解决步骤
1. 清理VS Code Server缓存并重建
进入Ubuntu终端,执行以下命令删除损坏的VS Code Server文件:
rm -rf ~/.vscode-server
随后关闭WSL:
# 在PowerShell中执行 wsl --shutdown
重新启动Ubuntu后再次运行code .,VS Code会自动重新下载并安装适配的服务器组件。
2. 修复Shell环境配置
日志提示未设置或找到当前发行版的Shell环境,执行以下命令检查并修复:
# 查看当前默认Shell echo $SHELL
若输出不是/bin/bash,执行以下命令设置bash为默认Shell:
chsh -s /bin/bash
关闭WSL后重新启动,环境配置将生效。
3. 重置WSL发行版(谨慎操作)
若上述步骤无效,可尝试重置Ubuntu发行版(注意备份重要数据):
# 在PowerShell以管理员身份执行 wsl --unregister Ubuntu wsl --install -d Ubuntu
此操作会清除Ubuntu内所有数据,重新安装干净的发行版。
4. 更新Windows系统
当前Windows版本为19044(21H2),存在部分WSL2兼容性问题,建议安装所有可用的Windows更新,升级至较新版本(如22H2)以获得更好的兼容性。
内容的提问来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

