问题基本情况
[13:30:20.720] > code 1.86.0 (commit 05047486b6df5eb8d44b2ecd70ea3bdf775fd937)
[13:30:20.724] > Running ssh connection command... /var/fpwork/reiss/vscdata/server/cplane/.vscode-server/code-05047486b6df5eb8d44b2ecd70ea3bdf775fd937 command-shell --cli-data-dir /var/fpwork/reiss/vscdata/server/cplane/.vscode-server/cli --on-port --require-token a53956730956 --parent-process-id 52357 &> "/var/fpwork/reiss/vscdata/server/cplane/.vscode-server/.cli.05047486b6df5eb8d44b2ecd70ea3bdf775fd937.log" < /dev/null
> printenv:
....[13:30:20.743] > Spawned remote CLI: 52461
[13:30:20.753] > Waiting for server log...
[13:30:20.803] > Waiting for server log...
[13:30:20.845] > Waiting for server log...
[13:30:20.884] > Waiting for server log...
[13:30:20.924] > Waiting for server log...
[13:30:20.963] > Waiting for server log...
....[13:30:34.931] > Waiting for server log...
[13:30:34.968] > Waiting for server log...
[13:30:35.010] > Waiting for server log...
[13:30:35.050] > Waiting for server log...
[13:30:35.085] > af274c7fbd66: start
> SSH_AUTH_SOCK====
> DISPLAY====
> listeningOn====
> osReleaseId==rhel==
> arch==x86_64==
> vscodeArch==x64==
> bitness==64==
> tmpDir==/tmp==
> platform==linux==
> unpackResult==success==
> didLocalDownload==1==
> downloadTime====
> installTime==404==
> serverStartTime==14348==
> execServerToken==a53956730956==
> af274c7fbd66: end
[13:30:35.085] Received install output:
SSH_AUTH_SOCK====
DISPLAY====
listeningOn====
osReleaseId==rhel==
arch==x86_64==
vscodeArch==x64==
bitness==64==
tmpDir==/tmp==
platform==linux==
unpackResult==success==
didLocalDownload==1==
downloadTime====
installTime==404==
serverStartTime==14348==
execServerToken==a53956730956==[13:30:35.086] Failed to parse remote port from server output
[13:30:35.086] Terminating local server
[13:30:35.087] Exec server for ssh-remote+cplane_docker failed: Error
[13:30:35.088] Error opening exec server for ssh-remote+cplane_docker: Error
[13:30:35.096] Local server exit: null
尝试更新glibc
参考Visual Studio Code Remote Development Frequently Asked Questions,将glibc更新至2.28(更多细节请参考Linux Prerequisites for Visual Studio Code Remote Development),但重启后问题仍未解决。
尝试删除服务器上的.vscode-server
,重新连接VSCode仍然无效。同时,删除客户端.ssh/known_hosts
中的相关条目也未产生效果。
问题定位——VSCode1.86不兼容特定旧版本Linux
最终,在搜索关键字"Waiting for server log…“时找到了问题的根本原因,即VSCode 1.86版本不再支持CentOS7(包括Ubuntu18.04等),因此需要手动回退至1.85版本。
首先,使用Ctrl+Shift+P打开用户设置,搜索"update”,将应用程序的更新模式设置为"none",然后重新启动VSCode。
安装1.85版本的VSCode后,发现SSH Remote选项消失。在搜索插件时,发现先前版本的Remote - SSH插件与1.85版本不兼容。为解决此问题,卸载了Remote - SSH插件,并重新安装。此时,成功连接到远程开发环境。
随后,安装了1.85版本的VSCode,但发现SSH Remote选项不再可见。
在查找插件时,发现先前版本的Remote - SSH插件与1.85版本存在不兼容性。
为了解决这个问题,我卸载了Remote - SSH插件,并进行了重新安装。经过这一步骤后,成功连接到远程开发环境。
References:
vscode server won’t start: “Waiting for server log…” · Issue #203967 · microsoft/vscode
Visual Studio Code Remote Development Frequently Asked Questions