关闭SSH连接后,恢复Mac OS X终端标题[重复]


18

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

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

我发现在网络上搜索的大多数解决方案都涉及到con转义序列,例如此问题相关博客文章

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

Answers:


26

这不是SSH问题。问题在于,远程主机上的外壳配置为发送转义序列以设置终端窗口标题。这是一个相当常见的设置。您链接到的博客文章中提到的解决方案是正确的。

最简单,最直接的解决方案是配置相同的远程外壳,以在退出窗口时重置窗口标题。例如,如果远程shell是bash,则将其放在〜/ .bash_logout中:

printf '\e]0;\a'

另外,如果您想让本地外壳程序通过有用的内容更新窗口标题,请执行此操作。ssh连接结束时,本地外壳程序会将窗口标题设置为其他名称,而不是保留陈旧的值。例如把它放在〜/ .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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.