我用众多解决方案之一设置终端标题:
功能于.bashrc
:
function set-title() {
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$*\a\]"
PS1=${ORIG}${TITLE}
}
并且它运行完美!但是当我 ssh 到远程主机时,标题变为[email protected]
。
有没有什么解决方案可以防止 ssh 之后标题发生变化?
答案1
如果你不能修改~/.bashrc
我想你也不能创建或复制任何文件到远程用户的~
,对吧?因为如果可以的话,只需添加一个~/.bash_aliases
将标题恢复为默认值:echo -ne '\e]2;\a'
~/.bashrc
所以......最好的办法是通过设置TERM
以外的来欺骗遥控器xterm*|rxvt*
,例如:
$ TERM=gnome-256color ssh [email protected]
(恕我直言,这是一个非常愚蠢的限制/政策。~/.bashrc
是一个只能在交互的会话,因此它不会影响任何脚本或服务。Ubuntu.bashrc
和其他发行版中默认提供的默认设置有设置标题的愚蠢行为,开发人员/系统管理员可以在设置服务器时修补它)