默认的 GNU 屏幕“屏幕”

默认的 GNU 屏幕“屏幕”

正如标题所说,我想在我的无头盒上设置 GNU 屏幕,以便当它启动时一些屏幕已经在运行。

我的.bashrc文件在第一次登录时运行屏幕screen -xRR,我希望htop各种日志能够自动打开。

是否也可以同时为屏幕分配标题?

答案1

您可以在屏幕配置文件中定义默认窗口~/.screenrc

窗口标题可以通过选项内联设置-t,但必须在启动每个窗口之前设置工作目录。例如,在您的案例中,您可能包括以下内容:

~/.screenrc

# ...

chdir ~
screen -t "Htop" htop

chdir /var/log
screen -t "System log" tail -F syslog
screen -t "Mail log" tail -F mail.log

chdir ~
screen   # Extra Bash window for running commands

# ...

注意screen这里不是screen你运行的命令,而是内部screen命令。参见man screen,定制部分, 或者GNU 手册了解更多信息。

答案2

您可以利用该-S标志,并为屏幕提供一个唯一的名称。

screen -S MyTitleHere

您还可以使用-c标志加载配置文件。

screen -S foo -c /home/user/.screenrc.bar

您可以尝试以下方法:

su -c "screen -dm -S $TITLE 2>&1 1>/dev/null" $USER

并将其放在您的中/etc/rc.local,这将导致在您为特定用户启动时创建该屏幕。

一旦设置了配置(.rc)文件,您可能需要运行以下命令:

screen -dURS $TITLE -c /path/to/.screenrc.bar

因为这将

  1. 如果不存在则创建屏幕会话
  2. 如果会话已经存在,则重新附加到会话。

另一个选择是使用tmuxtmuxinator,在我看来,这提供了更简洁的体验。如果您习惯使用屏幕样式的键绑定,您可以设置使用屏幕样式的键绑定。我这样说是因为我为其他用户运行的成功率比使用屏幕tmux要高得多。tmux

相关内容