Estou tentando criar um comando que é iniciado screen
, cria quatro sessões com nomes diferentes e executa quatro comandos diferentes.
Eu sei como fazer isso manualmente:
1. screen
2. ./command1 args
3. CTRL-A :sessionname Session 1
4. CTRL-A C
5. (GOTO 2)
Posso fazer isso com um script bash ou algo assim? Como eu faria isso?
linux
bash
gnu-screen
hughes
fonte
fonte
.screenrc
resposta abaixo deveria ter sido aceita.Para iniciar várias sessões automaticamente, configure um
.screenrc
arquivo, um arquivo de configuração para a tela. Nele, você pode criar sessões, iniciar programas, alterar o diretório de trabalho etc. Eu o uso para inicializar minha sessão na tela.Exemplo simples para um arquivo .screenrc:
Os
screen
comandos acima de cada um criam uma sessão de tela.-t
define o título da sessão; o restante da linha é o comando a ser executado e seus parâmetros.Assim, a primeira e a segunda
screen
linha iniciam uma sessão e iniciamvim
dentro. O terceiro apenas inicia uma sessão e o envia imediatamente.chdir
altera o diretório de trabalho para todas as sessões subseqüentes.Se você quiser ter vários
.screenrc
arquivos, apenas nomeie-os da maneira que desejar e selecione um comscreen -c myscreenrc
.fonte
Você pode usar as opções d, m, S juntas:
S: Para criar uma tela
d: desanexar de uma tela
m: Para impor a criação da tela, independentemente de a tela ser chamada de outra tela ou não.
fonte
screen -dmS s1
etc. Eu não sabia que, ao agrupar opções, aquela com argumento não precisa ser a última.