tutoriais:utilizando_comando_screen
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
tutoriais:utilizando_comando_screen [2019-08-13 16:16] – removed gnann | tutoriais:utilizando_comando_screen [2024-03-19 13:23] (current) – created gnann | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======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/ | ||
+ | * Abrir múltiplas janelas em modo gráfico remotamente | ||
+ | |||
+ | Para desconectar e reconectar a uma seção remota **sem modo gráfico**, veja [[tutoriais: | ||
+ | |||
+ | ====Ativando o Screen==== | ||
+ | |||
+ | Para conectar a uma máquina usando SSH, veja [[tutoriais: | ||
+ | |||
+ | Após acessar a máquina remota, rode | ||
+ | |||
+ | <code bash> | ||
+ | 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 | ||
+ | |||
+ | break ^B b only Q | ||
+ | clear C | ||
+ | colon : | ||
+ | copy ^[ [ pow_detach D | ||
+ | detach | ||
+ | digraph | ||
+ | displays | ||
+ | fit F | ||
+ | flow ^F f reset Z | ||
+ | focus ^I screen | ||
+ | hardcopy | ||
+ | help ? | ||
+ | </ | ||
+ | |||
+ | (**^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 | ||
+ | |||
+ | <code bash> | ||
+ | [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 < |
tutoriais/utilizando_comando_screen.1565723800.txt.gz · Last modified: 2019-08-13 16:16 by gnann