Ubuntu 20.04非root超级用户无法从VSCode集成终端新建实例
解决Ubuntu 20.04非root用户SSH下无法调用code命令打开VSCode实例的方案
根因说明
该问题由两个原因导致:
- Snap版本VSCode的沙箱权限限制,默认禁止跨用户、SSH远程会话上下文下的命令调用
- 切换用户后,VSCode远程服务的上下文与当前登录用户不匹配,无法关联到本地的VSCode客户端
永久修复步骤
- 卸载当前Snap版本的VSCode
sudo snap remove code - 添加微软官方VSCode apt源
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' rm -f packages.microsoft.gpg - 安装apt版本的VSCode
sudo apt update && sudo apt install -y code - 配置远程命令路径
切换到dacomis用户执行which code,记录返回的可执行文件路径(默认是/usr/bin/code)。打开本地VSCode设置,搜索Remote.SSH: Path,将记录的路径填入配置项,保存后重启SSH连接即可。
临时修复方案(无需卸载Snap版)
切换到dacomis用户后,执行命令时指定用户数据目录即可正常唤起实例:snap run code --user-data-dir ~/.vscode -n cardano-v
内容的提问来源于stack exchange,提问作者Dacomis
相关产品推荐
相关产品推荐

