======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 .