有没有办法让GNU屏幕在第一次开始新会话时自动打开多个屏幕?

我经常在一个屏幕上打开5个以上的屏幕来监视服务器,并且在系统重新启动之后再次设置它们有点令人讨厌。 通常有1个顶级进程和几个尾巴用于查看日志文件。

有没有办法让屏幕自动打开一些屏幕,在每个屏幕上执行某些命令?

是的,你可以把它放到你的screenrc中,例如。

screen -t Code 0 screen -t Chat 1 irssi screen -t Shell 2 screen -t Remote 3 ssh user@host screen -t screen4 4 

您可以将这些命令放入一个文本文件中,然后将该文本文件指定为您的screenrc,屏幕仍将inheritance/ etc中系统screenrc文件中的条目。 文本文件可能如下所示:

 zombie qr screen -t sshToServer1 ssh Server1 screen -t logTail tail -f /var/log/foo 

语法是:

 screen -t title <optional window number> command commandArguments 

如果你closures那个窗口,僵尸qr将会这样,你可以通过按r重新生成它。 要指定上面的文本文件:

 screen -c textfile 

如果要命名屏幕会话,并且如果已经有一个具有相同名称的分离会话而不是启动新会话,则需要重新附加名称,请使用-R:

 screen -R myScreenSession -c textfile 

这样,您可以为不同的屏幕会话保存几个不同的文本文件。