WSL 的 VS Code 服务器意外关闭

问题描述 投票:0回答:11

我正在尝试使用 VS code 在 WSL(Ubuntu-18.04 发行版)系统上运行 Python 项目。我安装了 WSL - 远程插件 v0.39.9。运行命令时:

code .

收到错误:

/home/用户名/.vscode-server/bin/6ab598523be7a800d7f3eb4d92d7ab9a66069390/bin/代码: 12: /home/用户名/.vscode-server/bin/6ab598523be7a800d7f3eb4d92d7ab9a66069390/bin/代码: /home/用户名/.vscode-server/bin/6ab598523be7a800d7f3eb4d92d7ab9a66069390/节点: 执行格式错误

当我在 VS Code 中运行并尝试连接到 WSL 实例时:

在 WSL (Ubuntu-18.04) 扩展版本中启动 VS Code Server: 0.39.9,Windows 版本:18362。多发行版支持:已启用。 WSL 路径支持:为 WSL 启用的 VS Code Server 意外关闭。

这是VS Code的信息:

Version: 1.39.2 (user setup)
Commit: 6ab598523be7a800d7f3eb4d92d7ab9a66069390
Date: 2019-10-15T15:35:18.241Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362
visual-studio-code windows-subsystem-for-linux
11个回答
78
投票

我通过关闭

wsl
然后在powershell中重新启动它解决了这个问题。

wsl --shutdown
wsl

49
投票

这对我有用:

  • 在 wsl 提示符中,我删除了 home 中的 .vscode-server 文件夹 使用
    rm -rf ~/.vscode-server
  • 的目录
  • 从 WSL 衍生出一个 vscode 使用
    code ~
    ,导致重新安装 VS Code Remote

古斯塔沃·冈丁 (Gustavo Gondin) 致谢: https://ggondim.medium.com/vs-code-server-for-wsl-close-unexpectedly-8672b28cc11f


19
投票

问题是否在于您的 WSL 上有过时的 VS Code 服务器,并且选择了 docker(而不是 Linux 版本)作为您的默认 WSL 发行版?

解决方案:

1. 打开 PowerShell 并运行

wsl -l -v
并检查星号
*
是否表示 Ubuntu(或其他 Linux 发行版)是您的默认 WSL 发行版。

* Ubuntu-20.04           Running         2
  docker-desktop-data    Running         2
  docker-desktop         Running         2

如果没有,请在 PowerShell 中运行

wslconfig /setdefault <Your WSL Linux distro>

2. 选择正确的 WSL 发行版后,打开 VSCode,按

Ctrl+Shift+P
,然后键入
Remote-WSL: New WSL Window
。这将更新您的 WSL Linux 发行版上的 VS Code Server。

3.

code .
现在应该可以在 WSL 中工作

我在更新 VSCode 后也遇到了类似的问题。当我尝试从 Ubuntu 打开 VSCode 并收到以下错误时,我识别出了它:

~$ code .
Updating VS Code Server to version 507ce72a4466fbb27b715c3722558bb15afa9f48
Removing previous installation...
Installing VS Code Server for x64 (507ce72a4466fbb27b715c3722558bb15afa9f48)
Downloading: 100%
Failed
--2021-06-29 10:48:51--  https://update.code.visualstudio.com/commit:507ce72a4466fbb27b715c3722558bb15afa9f48/server-linux-x64/stable
Resolving update.code.visualstudio.com (update.code.visualstudio.com)... failed: Temporary failure in name resolution.
wget: unable to resolve host address ‘update.code.visualstudio.com’
ERROR: Failed to download https://update.code.visualstudio.com/commit:507ce72a4466fbb27b715c3722558bb15afa9f48/server-linux-x64/stable to /home/username/.vscode- server/bin/507ce72a4466fbb27b715c3722558bb15afa9f48-1624952921.tar.gz

6
投票

我也遇到了同样的问题,结果发现我有默认的

docker-desktop-data
。该发行版没有 shell 环境,因此您可以将默认发行版设置为
docker-desktop
并避免安装任何内容:

C:\> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  docker-desktop         Running         2
C:\> wsl -s docker-desktop
C:\> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2

然后,WSL vscode 扩展执行的命令将要求在该 wsl 中安装

node
,并且它将失败。

然后你会意识到需要做一些额外的事情,而且它不能开箱即用。您可以使用以下方式选择或安装所需的 wsl:

  • 选择“使用发行版”
  • 如果没有,请安装一个新的:

这将带您前往微软商店。我建议安装 Alpine 发行版,这是您可能会发现的轻量级发行版。


2
投票

这也适合我

wsl --关闭

然后,我重新打开我的 VS 并打开我的远程文件夹。 发生这种情况可能是因为您突然关闭计算机。就我而言,我关闭了笔记本电脑的盖子,同时仍然可以听到风扇的声音。


2
投票

这对我有用。

在 wsl 提示符内,我使用此命令删除 .vscode-server

sudo rm -rf ~/.vscode-server

然后我使用此命令重新安装了 VS Code Remote。

code .

2
投票

我删除了“C:\Users\user1.vscode xtensions”中的扩展程序(ms-vscode-remote.remote-wsl-0.81.6),然后重新安装了它。


0
投票

通过 Microsoft Store 安装 Ubuntu 可能会导致版本 1。在这种情况下,尝试打开远程窗口可能会导致最终结果

VS Code Server for WSL closed unexpectedly.
Check WSL terminal for more details

重新启动对您没有帮助。然后检查 WSL 版本。

wsl -l -v                  # Take a note your distribution name below
  NAME    STATE   VERSION
* Ubuntu  Running 1    

如果是

1
尝试将其更改为
2

wsl --set-default-version 2
wsl --set-version Ubuntu 2 # will set your Ubuntu distribution to use WSL 2

转换版本需要一些时间。当进程完成时远程窗口成功打开。


0
投票

如果您重新启动 wsl

重新启动电脑

打开windows功能

在BIOS模式下启用虚拟化

而且它仍然不起作用

转到提升的命令提示符(以管理员身份运行命令提示符)

输入“bcdedit”并按 Enter

如果 hypervisorlaunchtype 设置为 Off,

输入“bcdedit /set hypervisorlaunchtype Auto”并按回车键

基本上从“打开/关闭窗口功能”打开它有时是不够的。


0
投票

就我而言,这是一个网络问题。在 /etc/resolv.conf 中将 DNS 更改为 8.8.8.8 对我有用。


0
投票

在 wsl 提示符中,我使用

rm -rf ~/.vscode-server
删除了主目录中的 .vscode-server 文件夹 使用
code ~ 
从 WSL 生成 vscode ,这导致重新安装 VS Code Remote

© www.soinside.com 2019 - 2024. All rights reserved.