首页 新闻 会员 周边

如何在 macOS terminal tab 标题中显示 ssh 主机名

0
悬赏园豆:100 [已解决问题] 解决于 2020-02-14 20:31

经常 ssh 登录好几台服务器,如果 macOS 终端 tab 标题中能显示 ssh 主机名,那就很容易区分了,请问是否有方法实现?

问题补充:

Terminal Tab Names (SSH host) 中找到一个方法,但需要自己写个脚本,每次要通过这个脚本进行 ssh 登录,比较麻烦。

dudu的主页 dudu | 高人七级 | 园豆:30994
提问于:2020-02-13 16:14
< >
分享
最佳答案
1

终于搞定了!使用的是下面的脚本 myssh.sh

export TERM=vt100
HOST=$1
printf "\e]0; $HOST\a"
ssh $@
export TERM=xterm-256color

脚本说明:

  • 仅有 printf "\e]0; $HOST\a" 不够,它的确是设置当前 tab 标题的命令,但当 ssh 登录上后,tab 标题会被改成 ssh 服务器当前所在路径,需要通过 export TERM=vt100 解决(方法来自stackexchange)。
  • export TERM=xterm-256color 是为了恢复终端设置。

然后在 .bash_profile 中添加 alias 即可。

alias ssh=~/myssh.sh
dudu | 高人七级 |园豆:30994 | 2020-02-14 20:30

后来发现 export TERM=vt100 会影响到 ssh 所登录服务器的 shell 环境,不可行,需要另想办法。

dudu | 园豆:30994 (高人七级) | 2020-02-14 22:35

找到了问题的真正原因,是 macOS 终端使用 zsh 引起的,换回默认的 bash 就没这个问题了。

dudu | 园豆:30994 (高人七级) | 2020-02-15 10:59
其他回答(1)
2

直接给ssh alias到那个脚本,就跟正常一样了

收获园豆:100
jakio6 | 园豆:1318 (小虾三级) | 2020-02-13 23:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册