======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 [[tutoriais:utilizando_comando_xpra|Utilizando comando Xpra]]
====Ativando o Screen====
Para conectar a uma máquina usando SSH, veja [[tutoriais:como_acessar_a_rede_ime_de_fora|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
.