如何防止 ssh 后终端标题改变

如何防止 ssh 后终端标题改变

我用众多解决方案之一设置终端标题:

功能于.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和其他发行版中默认提供的默认设置有设置标题的愚蠢行为,开发人员/系统管理员可以在设置服务器时修补它)

相关内容