当前位置: 首页 > 知识库问答 >
问题:

VSCode远程server.sh在wsl docker桌面中找不到节点

扶开诚
2023-03-14

我有:

VSCode v1.46.0

远程wsl扩展v0.44.3

Windows 10操作系统内部版本号19041.329

Docker 桌面版 v2.3.0.3

我试图在docker桌面wsl中打开VSCode,每次都会出现以下错误。我已经转到列出的目录,看到了节点文件,我不知道该怎么办?

[2020-06-17 20:30:27.337] Resolving wsl+docker-desktop, resolveAttempt: 1
[2020-06-17 20:30:27.462] Starting VS Code Server inside WSL (docker-desktop)
[2020-06-17 20:30:27.463] Extension version: 0.44.3, Windows build: 19041. Multi distro support: available. WSL path support: enabled
[2020-06-17 20:30:27.751] Probing if server is already installed: C:\WINDOWS\System32\wsl.exe -d docker-desktop -e sh -c "[ -d ~/.vscode-server/bin/a5d1cc28bb5da32ec67e86cc50f84c67cc690321 ] && printf found || ([ -f /etc/alpine-release ] && printf alpine-; uname -m)"
[2020-06-17 20:30:28.100] Probing result: found
[2020-06-17 20:30:28.100] Server install found in WSL
[2020-06-17 20:30:28.101] Launching C:\WINDOWS\System32\wsl.exe -d docker-desktop sh -c '"$VSCODE_WSL_EXT_LOCATION/scripts/wslServer.sh" a5d1cc28bb5da32ec67e86cc50f84c67cc690321 stable .vscode-server 0  ' in c:\Users\Eric\.vscode\extensions\ms-vscode-remote.remote-wsl-0.44.3}
[2020-06-17 20:30:28.345] Setting up server environment: Looking for /root/.vscode-server/server-env-setup. Not found.
[2020-06-17 20:30:28.345] WSL version: 4.19.104-microsoft-standard docker-desktop
[2020-06-17 20:30:28.345] WSL2-shell-PID: 1036
[2020-06-17 20:30:28.345] Starting server: /root/.vscode-server/bin/a5d1cc28bb5da32ec67e86cc50f84c67cc690321/server.sh  --port=0 --use-host-proxy --enable-remote-auto-shutdown 
[2020-06-17 20:30:28.347] /root/.vscode-server/bin/a5d1cc28bb5da32ec67e86cc50f84c67cc690321/server.sh: line 12: /root/.vscode-server/bin/a5d1cc28bb5da32ec67e86cc50f84c67cc690321/node: not found
[2020-06-17 20:30:28.347] VS Code Server for WSL closed unexpectedly.
[2020-06-17 20:30:28.347] For help with startup problems, go to
[2020-06-17 20:30:28.347] https://code.visualstudio.com/docs/remote/troubleshooting#_wsl-tips
[2020-06-17 20:30:29.404] WSL Daemon exited with code 0

共有3个答案

魏翔
2023-03-14

就我而言,解决这个问题的方法是:

  • 打开窗口设置的泊坞窗
  • 取消选中“使用 WSL 2 基本引擎”,然后单击“应用”

下一次我运行“远程WSL:新窗口”时,它再次正确连接。

崔绍辉
2023-03-14

问题是,安装在WSL上的vscode-server与Docker Desktop给出的发行版不兼容。你应该使用微软商店的官方Linux发行版,比如Ubuntu。

docker桌面发行版来自AlpineLinux,它基于libc变体musl-libc,但是vscode-server,它是由wsl扩展安装的,是针对glibc构建的。

您可以通过在wsl中执行此操作来查看这一点:apk更新

readelf -l /root/.vscode-server/bin/a5d1cc28bb5da32ec67e86cc50f84c67cc690321/node | grep "program interpreter"
      [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]

但是在Alpine中,这个库不存在,这就是错误消息报告< code>not found的原因。

所以我想知道,为什么vscode服务器在具有远程容器扩展的Alpine容器内工作。例如,从< code>alpine:3.9开始,上述检查显示以下内容:

readelf -l /root/.vscode-server/bin/a5d1cc28bb5da32ec67e86cc50f84c67cc690321/node | grep "program interpreter"
      [Requesting program interpreter: /lib/ld-musl-x86_64.so.1]

由于某种原因,远程容器扩展具有一些针对 Alpine 的检测机制,并且使用不同的 vscode 服务器版本。我的建议是,您可以针对此问题向 https://github.com/microsoft/vscode-remote-release/issues 提交问题。否则,请使用其他 WSL 发行版或使用容器扩展。

关于这个主题的一些参考资料:

  • Docker容器中的Alpine linux=
包谭三
2023-03-14

今天有一个非常类似的问题。VScode已经工作了很长时间,今天突然停止了。

/home/user/.vscode-server/bin/b5afea7e86cc50f84c67cc690321/server.sh --port=0 --use-host-proxy --enable-remote-auto-shutdown
VS Code Server for WSL closed unexpectedly

WSL控制台中,server.sh不知何故是空的。
我的解决方案:删除WSL扩展名。rm-rf./vscode-server。重新安装WSL扩展名以重建损坏的文件。

 类似资料:
  • 当连接到远程主机以设置远程SSH连接时,我得到以下错误。

  • 我刚刚从EC2管理控制台启动了一个新的windows server 2016虚拟机。我尝试从我的桌面(MAC OS)连接RDP,但它没有连接,甚至机器也无法从公共IP和公共域名ping。 请计算机已启动并正在运行,并且来自安全组 i 启用端口 3389 的入站规则

  • 我正在测试VS Code节点调试器,但是当试图附加到正在运行的进程时,我找不到任何节点进程。 这是我的launch.json文件: 我package.json文件的内容: 使用“npm start”启动进程后,我按“start debug”,节点进程列表如下: 1 sssd_pam 看起来像这样,但这些都不是我刚刚启动的服务器。即使在我关闭节点服务器后,此列表仍然存在。 为什么我无法在VSCode

  • 我已经在我的默认VPC中创建了一个新的免费层windows 2019 EC2实例,新的EC2有一个公共IP,安全组允许来自任何地方的流量,并且RDP协议已配置为在端口3389上就绪。 我已经花了两天时间,没有运气从windows远程桌面连接到这个实例。 我试图从我的机器上ping ec2,但是没有成功。 从我的机器到ec2的telnet工作正常。我已禁用windows防火墙。 远程桌面有时要求我输

  • 我的Windows 10桌面上有两个远程桌面客户端应用程序。我想执行我的。带有Windows 10远程桌面APP的RDP文件。 这是带有红色边框的应用程序。 当我启动te. rdp文件时,它会提示我一个用户名和密码。但是没有保存它的选项。 提示用户名和密码 通常我打开。rdp文件和另一个远程桌面程序(并没有红色边框的那个)一起使用,它会提示我保存凭证一次。 在此处输入图像描述 是否可以使用te r

  • TeamViewer 是广泛使用的远程桌面,提供 linux 版本。 安装 在 TeamViewer 官方下载适合的 amd 64位的 debian 版本, 英文网站: https://www.teamviewer.com/en/download/linux/ 中文网站: https://www.teamviewer.com/zhcn/download/linux/ 或者直接用这个下载链接下载最新