Posso criar e manipular “telas” unix em um script?

5

Eu tenho um ambiente de trabalho no meu laptop Ubuntu no qual quero usar três telas diferentes.

no terminal, eu costumo escrever

screen -S mywork
run_server_1

então, ctrl-a c para criar uma segunda tela

run_server_2

etc.

Eu gostaria de escrever um script para automatizar a configuração deste ambiente, mas como posso controlar várias telas a partir de um script?

Atualização: Eu realmente quero poder fazer isso de um script de shell, não uma configuração de tela. Arquivo. Existe uma maneira de fazer isso?

    
por interstar 21.06.2010 / 14:26

3 respostas

5

Lendo páginas do manual e tutoriais ajuda

Eu diria que você quer fazer é criar um arquivo $ HOME / .screenrc.multiwin

# read in your normal screenrc
# before anything else
source $HOME/.screenrc
# now start opening windows
# it's possible to set the window title with
# the -t option
# you can also specify the window number
# to launch in
screen -t server1 5 run_server_1
screen -t server2 6 run_server_2

Em seguida, executando

screen -c $HOME/.screenrc.multiwin

fará o que você precisa

    
por 21.06.2010 / 15:08
1

Os comandos podem ser transmitidos de fora usando screen -S sessionname -X command , por exemplo, screen -S mywork -X screen run_server_2 criaria uma nova janela (igual a ctrl-a c ), mas a janela executaria o run_server_2 nela. Ao contrário de fazê-lo manualmente, não haverá um shell sendo executado nessa janela, portanto, quando o run_server_2 sair, a janela será fechada.

Controlar várias telas é simplesmente uma questão de garantir que todas elas sejam nomeadas com -S

    
por 13.10.2010 / 07:21
-1

Eu acredito que o tmux é muito mais fácil de ser escrito do que a tela para esse tipo de propósito. O programa tmux aceita seus próprios comandos como argumentos na linha de comando, portanto, por exemplo, para ativar duas janelas: "tmux nova sessão -d '/ bin / bash'; nova-janela -d 'topo'". Na primeira janela, ele executará um shell "bash" interativo e, na segunda janela, será executado "top".

    
por 24.07.2013 / 20:43