使用 Byobu 显示登录文本

使用 Byobu 显示登录文本

当我登录到我的服务器时,我通常会看到一堆统计数据,如下所示:

常规登录;显示统计数据

但是如果我在登录时启用 byobu(通过byobu-enable),我就看不到统计数据。
登录后,我会立即看到 byobu:

Byobu 登录;无统计数据

当然,统计数据会被输出,但 byobu 会立即清除屏幕。
有没有办法在登录时仍运行 Byobu 的同时查看统计数据?

答案1

Ubuntu 登录时通常显示的动态统计信息包含在文件中/run/motd.dynamic。此文件通常在您登录时显示,但正如您正确注意到的那样,byobu 会清除屏幕,因此无法看到。您需要做的是安排在启动第一个 byobu shell 时打印该文件。

对我来说,实现此目的的一种方法是将以下 shell 代码片段添加到文件中~/.bashrc。它将在每个新的 shell 进程中运行,但 motd 只会在启动的第一个 tmux 窗口中显示一次。

if [ -z "$_motd_listed" ]; then
  case "$TMUX_PANE" in
    %1) cat /run/motd.dynamic
        export _motd_listed=yes
        ;;
    *)  ;;
  esac
fi

答案2

构建于接受的答案,我针对基于屏幕的会话测试/添加了相同的条件,该条件具有$WINDOW=0第一个屏幕,因此 tmux 和基于屏幕的会话的组合如下所示:

if [ -z "$_motd_listed" ]; then
  case "$TMUX_PANE" in
    %1) cat /run/motd.dynamic
        export _motd_listed=yes
        ;;
    *)  ;;
  esac
  case "$WINDOW" in
    0) cat /run/motd.dynamic
        export _motd_listed=yes
        ;;
    *)  ;;
  esac
fi

相关内容