Ale*_*ich 7 tmux visual-studio-code vscode-remote
大约一周前,当我将远程 SSH 扩展与 tmux 一起使用时,我注意到一个奇怪的问题。打开终端并启动 tmux 后,每个命令后都会将以下内容打印到控制台:
-bash: __vsc_prompt_cmd_original: command not found
如果我检查“输出”选项卡的“日志(远程 Pty 主机)”部分,我会看到以下内容:
[2022-08-19 14:48:23.822] [ptyhost] [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata:true' -O - http://169.254.169.254/metadata/instance?api-version=2019-03-11\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --connect-timeout 7 -s --header='Metadata:true' http://169.254.169.254/metadata/instance?api-version=2019-03-11\n\tfi\nfi\nexit 0"]
[2022-08-19 14:48:23.890] [ptyhost] [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --connect-timeout=7 --tries=1 --dns-timeout=7 -q -O - http://169.254.169.254/latest/meta-data/instance-id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --connect-timeout 7 -s http://169.254.169.254/latest/meta-data/instance-id\n\tfi\nfi\nexit 0"]
[2022-08-19 14:48:23.896] [ptyhost] [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --connect-timeout=7 --tries=1 --dns-timeout=7 -q -O - http://169.254.169.254/metadata/v1/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --connect-timeout 7 -s http://169.254.169.254/metadata/v1/id\n\tfi\nfi\nexit 0"]
[2022-08-19 14:48:23.900] [ptyhost] [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata-Flavor:Google' -O - http://metadata.google.internal/computeMetadata/v1/instance/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --connect-timeout 7 -s --header='Metadata-Flavor:Google' http://metadata.google.internal/computeMetadata/v1/instance/id\n\tfi\nfi\nexit 0"]
[2022-08-19 14:52:08.838] [ptyhost] [warning] Shell integration cannot be enabled for executable "/bin/tmux" and args undefined
Run Code Online (Sandbox Code Playgroud)
最后一行似乎令人担忧,如果我对不同的主机(tmux 工作的地方)使用远程 SSH 扩展,则该行不会出现(让我相信该行为可能已连接)。
两个远程主机都启用了终端集成(禁用终端集成似乎没有任何作用)。查看 VSCode 终端集成的设置,我注意到 tmux 没有被列为终端集成支持的 shell(只有 bash、pwsh 和 zsh)。我还看到一条警告,指出复杂的 bash PROMPT_COMMAND也可能会破坏某些东西(我已经编辑了 myPS1来打印我所在的 github 分支,尽管这在其他远程主机上工作得很好)。#_complex-bash-promptcommand设置中的链接(我在此处复制)已损坏,该页面上没有锚点,因此无论如何这可能是一个转移注意力的事情。
有什么想法吗?我应该提交 VSCode 问题吗?我完全迷失在这里了吗?
小智 12
您可以通过以下方法进行测试。
使用 nano 或 vim 等编辑器,添加以下行
unset PROMPT_COMMAND
到您的 .bashrc 文件,它将在下一个会话中生效。
要在当前 shell 会话的生命周期内立即应用更改,请键入
unset PROMPT_COMMAND
在你的终端窗口中。
| 归档时间: |
|
| 查看次数: |
5904 次 |
| 最近记录: |