吐槽:准备远程连接一下虚拟机,看一下之前写的代码的,结果vscode一直远程连接不上虚拟机,**软件,一更新害得折腾那么久,真服了,回家吧vscode,回家吧ssh。
1 ssh远程连接一直卡在下载
报错情况如下:
虽然它显示连接超时,但很明显不是我网络的问题,就是一直卡在这边。
解决方法:
我们可以看到.vscode-server/bin下面的文件夹下面有一长串字符,这些是客户端的 commit ID,我们vscode更新的话,这些ID就会变,导致就要重新下载一遍。所以可以自行去网页下载,然后传过去。
首先获取commit ID:
打开终端吧,输入
1 code --version
就会输出自己vscode的版本号,commit ID。
自行下载vscode-server.tar.gz,下载路径为:
1 https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable记得替换自己的commit_id.
删除.vscode-server/bin内的commit_id同名文件,因为在vscode连接时他会自己创建一个文件夹
1 rm -r ~/.vscode-server/bin
将下载好的vscode-server-linux-x64.tar.gz上传到虚拟机的/.vscode-server/bin目录下,并且解压,改名。
1
2
3 cd ~/.vscode-server/bin
tar -zxf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 e54c774e0add60467559eb0d1e229c6452cf8447
2 vscode连接服务器 waiting for server log
按照上面的步骤下来,就可以跳过下载的过程了,但是会出现新的问题,vscode一直输出waiting for server log,然后强制中断连接。
主要原因是因为VScode自动更新了,版本对glibc的要求高了,而虚拟机不满足,就会报这个错误,最简单的方法就是降为原来的版本。
我们直接下载v1.85的版本,下载连接如下:VCcode:November 2023 (version 1.85)下载完之后,因为vscode版本变了,所以我们还需要重复上面的操作,重新下载vscode-server.tar.gz.
原来的版本不用删,直接安装就行了,会覆盖掉,然后Remote-ssh选择v0.107.1。可以看的已经连接成功了。
3 关闭vscode和插件自动更新
为了防止这类事件再发生,我们可以直接关闭自动更新。打开设置,在搜索里面输入
update mode
,将其设置为none
。
取消vscode自动升级插件,在搜索栏输入
Extensions: Auto Update
,取消勾选状态。
我们也可以在Remote-SSH里面取消勾选自动更新