如何修改Terminator标签页标题,仅显示远程服务器主机名?
如何修改Terminator标签页标题,仅显示远程服务器主机名?
嘿,这个困扰我太懂了!开五六个标签页还好,多了之后用户名占满空间,连主机名开头都看不到,找服务器全靠蒙😂。给你分享两个亲测有效的办法:
方法一:ssh时直接指定标签标题(灵活不折腾)
如果不想动Terminator的全局配置,每次连接时用这个命令就行:
ssh -t your_username@remote_host "echo -ne '\033]0;remote_host\007'; exec bash"
这里的-t是让ssh强制分配伪终端(不然修改标题的控制码发不出去),echo那串是给终端发信号改标签名,最后exec bash是保持会话正常运行,不会出现连接后自动退出的问题。
嫌每次敲太长?在本地的shell配置文件(比如~/.bashrc或~/.zshrc)里加个别名:
alias ssh-host='ssh -t $1@$2 "echo -ne \"\033]0;$2\007\"; exec bash"'
保存后执行source ~/.bashrc(用zsh就换成source ~/.zshrc),之后直接敲ssh-host 你的用户名 服务器主机名,标签页就自动显示主机名啦!
方法二:修改Terminator配置,自动适配远程主机名
要是想一劳永逸,直接改Terminator的全局设置:
- 右键任意标签页,选「Preferences」(或者按
Ctrl+Shift+P打开配置窗口) - 切换到「Profiles」标签,选中你常用的配置(一般是Default)
- 找到「Title and Command」选项卡:
- 勾选「Replace initial title」
- 在「Title」输入框里填
${HOSTNAME} - 把「Dynamic title」设置为「Replace if longer」或者「Always」
这样每次ssh到远程服务器,Terminator会自动读取远程主机的HOSTNAME环境变量,把标签页改成主机名。不过这个方法依赖远程服务器默认设置了HOSTNAME变量,大部分Linux系统都默认开启,所以基本没问题。
备注:内容来源于stack exchange,提问作者ccaj




