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

eli*_*lon 18 ssh terminal title-bar macos

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

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

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

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

Chr*_*age 26

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

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

printf '\e]0;\a'
Run Code Online (Sandbox Code Playgroud)

或者,如果你想让你的本地 shell 用一些有用的东西更新窗口标题,那么就这样做。当 ssh 连接结束时,本地 shell 会将窗口标题设置为其他内容,而不是保留过时的值。例如把它放在 ~/.bashrc 中:

PS1='\[\e]1;\s\$ \W\a\e]2;\u@\h\a\]'"$PS1"
Run Code Online (Sandbox Code Playgroud)

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

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

if [ -f $HOME/.bashrc ]; then
    . $HOME/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

6435 次

最近记录:

12 年 前