正如标题所说,我想在我的无头盒上设置 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
因为这将
- 如果不存在则创建屏幕会话
- 如果会话已经存在,则重新附加到会话。
另一个选择是使用tmux
和tmuxinator
,在我看来,这提供了更简洁的体验。如果您习惯使用屏幕样式的键绑定,您可以设置使用屏幕样式的键绑定。我这样说是因为我为其他用户运行的成功率比使用屏幕tmux
要高得多。tmux