VS Code远程SSH终端Shell(含默认)配置失效问题求助
VS Code远程终端Shell配置失效且命令无法执行问题
环境信息
- 本地:Mac 13.6.2(M2芯片),Visual Studio Code 1.85.1
- 远程:Ubuntu 20.04.6 LTS Linux机器
问题现象
通过VS Code远程连接Ubuntu机器后,出现两个异常情况:
- VS Code完全忽略远程配置文件
me@remote:~/.vscode-server/data/Machine/settings.json中指定的终端Shell偏好,始终默认使用/bin/bash - 该
/bin/bash在VS Code终端内无法执行ls等基础命令:
me@remote:/usr/bin$ ls bash: ls: command not found
但在常规SSH终端中,/bin/bash可正常工作:
me@remote:~$ ls .vscode argv.json extensions launch.json
已尝试的配置
通过VS Code命令面板打开「Remote Settings (JSON)(SSH:remote)」,添加了如下配置:
{ "terminal.integrated.profiles.linux": { "s-mann-term": { "path": "/usr/bin/bash" }, "bash": { "path": "/usr/bin/bash" } }, "terminal.integrated.defaultProfile.linux": "s-mann-term"}
但无论选择默认配置、s-mann-term还是bash,在VS Code终端执行echo $SHELL始终返回/bin/bash。且在VS Code外部的SSH远程Shell中,使用/usr/bin/bash没有任何问题:
me@remote:~$ ll /usr/bin/bash -rwxr-xr-x 1 root root 1.2M Apr 18 2022 /usr/bin/bash*
补充说明
目前能找到的旧解决方案大多基于VS Code已废弃的terminal.integration.shell配置项,不适用于当前1.85.1版本。
内容的提问来源于stack exchange,提问作者OceanColorCoder
相关产品推荐
相关产品推荐

