vscode-server端问题记录
问题描述
vscode-remote连接某国产平台时,vscode-server触发了更新,由于复杂的网络问题,导致一直卡在vscode-server的下载安装和初始化部分。长时间停留在installing and setting up visual studio coder server.....
无响应。
失败方案
1. 离线更新vscode-server
我最先想到的方案是关闭远程连接的尝试,删除 ~/.vscode-server/bin/<commit-id>
下的文件。
首先遇到了:
- 无法删除
.nfs000000000000001709cf70000000059353
等的设备忙或资源忙 - 无法删除
node_moudules.node-pty/build/release
目录非空
通过fuser -km <directory>
的方式,可以把占用的进程杀死,踢出用户。 然后重新ssh登录就可以删除。
然后,前往下述网站下载最新的server包(将<commit-id>
替换成具体的id)。
接着,上传到服务器并解压。
尝试从宿主机重启vscode,初次成功登录远端主机,但很快进入远程主机重新加载
,再次陷入installing and setting up visual studio coder server.....
无响应。
2. 强制本地scp
关闭vscode的远端连接,删除上述内容后。找到vscode 设置(可以直接在设置面板搜索download):
将上述设置的选项调为always
。
Cmd/Ctrl+Shift+P
重载vscode窗口,重新连接,仍然是上述问题。
3. 尝试从其他服务器端复制vscode-server
由于笔者所在的SW终端机实际架构是沿用Centos,因此在连接的客户端相同的情况下,vscode-server
是和其他linux主机相同的。我尝试在网络状况较好的实验室主机hades0
上,由服务器端更新了vscode-server,并将~/.vscode-server/bin/<commit-id>
打包传输到sw相同目录下,具体步骤仍然是同 方案1。
仍然失败,但日志中多了一些scp命令,根据显示来看是将sw主机端中的一部分cli
相关文件,拷贝到~/.vscode-server/cli/servers/
,同时由主机端再次尝试下载vscode-server
。
成功解决
借鉴了上述第三步中的日志,初步猜测是vscode在server上的命令行工具(cli
)和vscode-server
的适配有些问题。我尝试将hades0
上更新成功的cli
相关文件一起拷贝到了sw
上:
起作用的是下面两个目录。
要保证~/.vscode-server/bin/<commit-id>
的文件和上述cli
文件是适配的。最好是从相同服务器上复制过来的相同commit-id文件。
再次重载vscode,尝试remote-ssh连接,发现成功。
特此记录一下不同的解决思路,以备不时之需。