VS Code远程SSH终端sudo切换用户后,能否通过命令打开文件?
可以通过终端命令在VS Code中打开该文件,以下是两种可行方法:
方法1:保留环境变量执行code命令
VS Code的code命令依赖当前远程会话的环境变量(比如VS Code的远程连接标识),切换用户时需要保留这些变量才能正常唤起VS Code打开目标文件。执行以下命令:
sudo -E -u 目标用户名 code 目标文件的完整路径
示例:若目标用户为devuser,要打开的文件是/home/devuser/project/config.ini,则命令为:
sudo -E -u devuser code /home/devuser/project/config.ini
方法2:指定code命令的绝对路径
如果切换用户后系统找不到code命令,可先在原SSH用户会话中用which code查看code的绝对路径,再切换用户后执行该路径的命令:
- 先获取
code的安装路径:
which code # 输出示例:/usr/bin/code
- 切换用户并打开文件:
sudo -u 目标用户名 /usr/bin/code 目标文件的完整路径
或者先切换到目标用户再执行:
sudo -su 目标用户名 /usr/bin/code 目标文件的完整路径
注意事项
- 确保目标用户对要打开的文件拥有读写权限,否则VS Code打开后无法保存修改;
- 若遇到权限报错,可先调整文件权限:
sudo chown 目标用户名:目标用户组 目标文件路径
内容的提问来源于stack exchange,提问作者Conor
相关产品推荐
相关产品推荐

