Is there a way to have GNU screen automatically open a number of screens the first time it starts a new session?
Yes, you can put this into your screenrc, eg.
screen -t Code 0
screen -t Chat 1 irssi
screen -t Shell 2
screen -t Remote 3 ssh user@host
screen -t screen4 4
You can put the commands in a text file, and then specify that text file as your screenrc, screen will still inherit the entries from the system screenrc file in /etc. The text file might look like:
zombie qr
screen -t sshToServer1 ssh Server1
screen -t logTail tail -f /var/log/foo
The Syntax is:
screen -t title <optional window number> command commandArguments
The zombie qr will make it so if you close that window, you can resurrect it by pressing r. To specify the above text file:
screen -c textfile
If you want to name the screen session, and have reattach the name if there is already a detached session with the same name instead of starting a new one, use -R:
screen -R myScreenSession -c textfile
This way, you can save several different text files for different screen sessions.