User Tools

Site Tools


tutoriais:utilizando_comando_screen

Utilizando comando Screen

O comando screen serve a duas funções, basicamente:

  • Desconectar e reconectar (de várias maquinas) a uma seção em uma shell sem terminá-la/parar seu(s) processo(s) sem modo gráfico (somente terminal)
  • Abrir múltiplas janelas em modo gráfico remotamente

Para desconectar e reconectar a uma seção remota sem modo gráfico, veja Utilizando comando Xpra

Ativando o Screen

Para conectar a uma máquina usando SSH, veja Acessando a rede IME para rodar comandos remotamente (SSH).

Após acessar a máquina remota, rode

screen

Simples, não? (note que nossos servidores todos contém screen instalado - como você utiliza o comando na seção remota, não precisa instalar localmente)

Após ativá-lo, a seção continua funcionando do mesmo jeito, mas existem algumas opções novas.

Controle

Em uma seção com screen, o atalho ctrl+a sinaliza que o próximo sinal será enviado ao screen, não ao terminal. Assim, o atalho funciona como comando de controle do screen. Por exemplo, ao digitar ctrl-a e depois ?, o programa devolve a página de ajuda, que inclui a lista de atalhos de tecla:

Screen key bindings, page 1 of 4.
 
Command key:  ^A   Literal ^A:  a
 
break      ^B b          only       Q
clear      C             other      ^A
colon      :             pow_break  B
copy       ^[ [          pow_detach D
detach     ^D d          prev       ^P p ^?
digraph    ^V            readbuf    <
displays   *             redisplay  ^L l
fit        F             removebuf  =
flow       ^F f          reset      Z
focus      ^I            screen     ^C c
hardcopy   h             select     '
help       ?             silence    _

(^tecla é uma representação de ctrl+tecla)

Deixar um processo remoto rodando

Rodar o comando ctrl+a d separa o usuário da janela e, no caso mais comum (janela única), volta o usuário para a própria shel. Note que os processos controlados pela janela continuam rodando, assim você pode fazer

[usuario@maquina_remota] $ screen
[usuario@maquina_remota] $ rodar_processo_muito_longo

e, após o comando ctrl+a d, ir para casa, tomar banho, assistir Netflix, dormir, e voltar no dia seguinte. Mas como voltar ao processo?

Voltar à janela do screen

Após logar de novo via SSH na máquina remota, rode o comando

screen -r

e você voltará à mesma janela, possivelmente aberta no dia anterior.

Múltiplas Janelas

Para abrir uma nova janela da shell remota, e possivelmente executar dois programas em paralelo (como python e R), use o comando ctrl+a c. Para navegar entre as janelas abertas, use ctrl+a n.

Finalizando

Depois que fizer o que precisa, saia do screen com o comando

 exit 

.

tutoriais/utilizando_comando_screen.txt · Last modified: 2017-01-17 16:29 by schutzer