Screenrc 设置获取远程服务器的状态

Screenrc 设置获取远程服务器的状态

我经常在 screen 中使用 ssh 连接一组机器。如果标题行能显示我通过 ssh 连接的服务器的信息(例如机器名、正常运行时间和来自 vmstat 的信息),那就再好不过了。

我注意到backtickscreen 命令似乎只在运行 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 的转义序列位于该命令的末尾。

相关内容