无SCP且无root权限下安装VS Code Server的问题求助
无SCP/无Root权限下手动部署VS Code Server解决方案
一、获取匹配版本的VS Code Server包
- 提取本地VS Code的commitId:按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入Remote-SSH: Show Local Command,复制命令里的commitId(比如你的5235c6bb189b60b01b1f4906) - 下载对应架构的Server包:
- 远程机器可联网时,直接在远程执行(以Linux x64为例):
若为arm64架构,替换链接中的wget https://update.code.visualstudio.com/commit:5235c6bb189b60b01b1f4906/server-linux-x64/stable -O vscode-server.tar.gzserver-linux-x64为server-linux-arm64即可 - 远程无法联网时,本地下载包后转成base64传输:
- 本地执行:
base64 vscode-server.tar.gz > server.txt,将server.txt内容复制到远程 - 远程执行:
base64 -d server.txt > vscode-server.tar.gz还原包文件
- 本地执行:
- 远程机器可联网时,直接在远程执行(以Linux x64为例):
二、清除残留锁文件与进程
- 强制杀掉远程机器上的VS Code Server进程:
ps aux | grep vscode-server | grep -v grep | awk '{print $2}' | xargs kill -9 - 删除冲突的目标目录(彻底清除锁文件与残留文件):
rm -rf ~/.vscode-server/bin/5235c6bb189b60b01b1f4906
三、手动部署VS Code Server
- 创建标准目录结构:
mkdir -p ~/.vscode-server/bin/5235c6bb189b60b01b1f4906 - 解压包到目标目录(自动去除包的外层文件夹):
tar -xzf vscode-server.tar.gz --strip-components=1 -C ~/.vscode-server/bin/5235c6bb189b60b01b1f4906 - 创建部署完成标记文件(VS Code会识别这个文件判断Server已就绪):
touch ~/.vscode-server/bin/5235c6bb189b60b01b1f4906/0 - 给执行文件添加可执行权限:
chmod +x ~/.vscode-server/bin/5235c6bb189b60b01b1f4906/bin/code-server
四、测试连接
重新用VS Code的Remote-SSH插件连接远程机器,此时会跳过SCP复制步骤,直接启动匹配版本的Server,不会再出现锁获取失败的问题。
内容的提问来源于stack exchange,提问作者Zhirayr
相关产品推荐
相关产品推荐

