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


12

从OS X开始,我将ssh放入foo(Linux盒)中。我的终端名称更改为foo。然后,我将ssh放入bar(另一个Linux机器)中。我的终端标题更改为bar。我注销了。我的终端名称更改为foo。我注销了foo。我的终端标题保持为foo(而不是更改回原始标题)。问题显然出在终端之外,因为从Linux机器注销回到Linux机器时,它可以正常工作。它可能不是ssh,因为vim也有同样的问题。在我的脑海里留下了贝壳。我正在使用BASH。纵观环境,我发现Linux盒子和OS X盒子之间没有太大区别。两者都使用xterm的TERM。

Answers:


14

新增中

export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

.bash_profile解决了这个问题。

似乎在PROMPT_COMMAND每次显示提示时都会执行该字符串。从手册页:

PROMPT_COMMAND

如果设置,则在发出每个主要提示之前,将值作为命令执行。


3
您不太可能通过控制台登录OS X,但是可能会发生。为了防止发生这种情况下的问题,我将整个事情包装case "$TERM" in xterm*|rxvt*)在一起。我想我最初是从这里得到这个想法的:tldp.org/HOWTO/Bash-Prompt-HOWTO/…–
Telemachus

哦,同样,我发现最好进入Terminal.app的首选项(“首选项”->“设置”->“窗口”),并删除它尝试添加到标题栏中的所有内容,但删除ymmv。
Telemachus

好吧,我iTerm.app不使用Terminal.app它,它正在工作。您确实对真实终端有所了解。我的Linux盒子上有一个这样的复选框,所以谢谢,我将其添加到我的配置文件中。
Chas。欧文斯(Owens)
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.