关闭 SSH 连接后恢复 Mac OS X 终端标题

关闭 SSH 连接后恢复 Mac OS X 终端标题

可能重复:
如何让 OS X 从 ssh 回来时将终端标题设置回原始标题?

每次从 Mac OS X 终端中的 SSH 连接注销时,窗口标题中都会显示过去的登录信息。

我在网上搜索到的大多数解决方案都涉及到使用转义序列,例如这个问题或者这篇相关的博客文章

这似乎是 SSH 问题,而不是终端问题,所以我想知道是否有更简单的方法来做到这一点(也许编辑 SSH 客户端配置?)。

答案1

这不是 SSH 问题。问题是远程主机上的 shell 配置为发送转义序列来设置终端窗口标题。这是一个相当常见的设置。博客文章您链接的是正确的。

最简单、最直接的解决方案是配置相同的远程 shell,以便在注销时重置窗口标题。例如,如果远程 shell 是 bash,请将其放入 ~/.bash_logout 中:

printf '\e]0;\a'

或者,如果您希望本地 shell 用一些有用的内容更新窗口标题,那么请这样做。当 ssh 连接结束时,本地 shell 会将窗口标题设置为其他内容,而不是保留旧值。例如,将其放入 ~/.bashrc 中:

PS1='\[\e]1;\s\$ \W\a\e]2;\u@\h\a\]'"$PS1"

这会将用户和主机名放在窗口标题中(这通常是远程 shell 配置为执行的操作),并且设置选项卡标题以显示 shell 名称和类型(普通用户或 root)以及当前工作目录。

请注意,如果您还没有 ~/.bash_profile(或 ~/.profile),请创建一个并让其运行 ~/.bashrc,以便 ~/.bashrc 适用于登录和非登录 shell:

if [ -f $HOME/.bashrc ]; then
    . $HOME/.bashrc
fi

相关内容