我经常在 screen 中使用 ssh 连接一组机器。如果标题行能显示我通过 ssh 连接的服务器的信息(例如机器名、正常运行时间和来自 vmstat 的信息),那就再好不过了。
我注意到backtick
screen 命令似乎只在运行 screen 的地方运行,它不会在远程机器上执行。有没有一种简单的方法可以让反引号在当前 ssh 连接的任何机器上运行该命令?
答案1
Screen 可以识别窗口内的终端可以发送的一些额外控制序列,以影响 Screen。您可能特别感兴趣的是 \ek 和 \e\ 序列。Screen 将使用这两个序列之间的任何序列作为窗口标题。然后您可以将窗口标题放在标题行中。
http://www.gnu.org/software/screen/manual/screen.html#index-control-sequences-107
尝试一下:
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007\ek${USER}@${HOSTNAME}: ${PWD/$HOME/~}\e\\"'
我使用它作为远程系统上的提示符。它会自动将窗口标题设置为user@name: path
。Screen 的转义序列位于该命令的末尾。