tutoriais:linux:utilizando_comando_screen
Differences
This shows you the differences between two versions of the page.
tutoriais:linux:utilizando_comando_screen [2019-08-13 16:16] – created gnann | tutoriais:linux:utilizando_comando_screen [2024-03-19 13:23] (current) – removed 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/linux/utilizando_comando_screen.1565723811.txt.gz · Last modified: 2019-08-13 16:16 by gnann