Você precisa criar as guias primeiro e, em seguida, dizer à tela para executar algo nelas, usando -X stuff .
Por exemplo:
#!/bin/bash
# start a new detached screen, create windows named tab3 and tab6
# with appuser's $SHELL running in them, running as user "appuser".
screen -c /dev/null -d -m -S mySession
screen -c /dev/null -S mySession -X screen -t tab3 sudo -u appuser -i
screen -c /dev/null -S mySession -X screen -t tab6 sudo -u appuser -i
# as root, you could use 'su - appuser', instead of sudo but that
# would ask for a password if this is run as non-root user. sudo
# can be configured to not ask for a password if required.
# run some programs in the already-created tab3 and tab6
# using screen's "stuff" command.
screen -c /dev/null -S mySession -p tab3 -X stuff $'top\n'
screen -c /dev/null -S mySession -p tab6 -X stuff $'htop\n'
Você pode anexar a essa tela com, por exemplo, screen -S mySession -d -RR . Se você sair de top ou htop em suas respectivas guias, essas guias não serão fechadas, elas retornarão ao prompt do appuser .
Estou usando -c /dev/null aqui para impedir que a tela leia meu ~/.screenrc , o que cria várias guias e configura tudo como eu quero. Ou costumava querer, eu mudei para tmux cerca de um ano atrás depois de usar screen por décadas.
Outra maneira de fazer isso é criar um novo arquivo screenrc com os comandos screen e stuff necessários e, em seguida, executar apenas screen -c /path/to/newscreenrc