User Tools

Site Tools


tutoriais:utilizando_comando_screen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tutoriais:utilizando_comando_screen [2016-06-02 15:59] – created schutzertutoriais:utilizando_comando_screen [2024-03-19 13:23] (current) – created gnann
Line 1: Line 1:
 ======Utilizando comando Screen====== ======Utilizando comando Screen======
  
-O comando Screen serve a duas funções, basicamente:+O comando **screen** serve a duas funções, basicamente:
  
-  * Usar múltiplas janelas em uma única seção SSH +  * 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) 
-  * Desconectar e reconectar (de várias maquinas) a uma seção em uma //shell// sem terminá-la/parar seu(s) processo(s)+  * Abrir múltiplas janelas em modo gráfico remotamente
  
-=====Ativando Screen=====+Para desconectar e reconectar a uma seção remota **sem modo gráfico**, veja [[tutoriais:utilizando_comando_xpra|Utilizando comando Xpra]] 
 + 
 +====Ativando 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)]]. 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 Após acessar a máquina remota, rode
- 
- 
-Após se conectar, os arquivos locais estarão à esquerda e os arquivos do servidor, no painel da direita.  Para transferir arquivos, basta arrastar de um lado para o outro, ou selecionar o que quiser e utilizar os botões no lado inferior (//copy// e //move//). Tome sempre muito cuidado com o que estiver fazendo. 
- 
-===== Transferindo arquivos no Linux ou Mac usando scp ====== 
-Abra um terminal e use o comando ''scp''. Sua sintaxe é: 
  
 <code bash> <code bash>
-scp [opções] origem destino+screen
 </code> </code>
  
-Uma opção importante é ''-r''necessária para copiar diretórios inteiros.+Simples, não? (note que nossos servidores todos contém screen instalado como você utiliza o comando na seção remotanão precisa instalar localmente)
  
-Origem e destino podem ser locais ou remotos.  Localmentedigite o nome do arquivo ou diretório normalmente Remotamente, o formato é:+Após ativá-loa seção continua funcionando do mesmo jeito, mas existem algumas opções novas.
  
-<code bash> +====Controle====
-"nome-do-usuário"@shell.ime.usp.br:caminho +
-</code>+
  
-O caminho pode ser dado partir do diretório HOME (por exemplo: ''usuario@shell.ime.usp.br:www/index.html'').  Para digitar o caminho completocomece com o caractere ''/''  (por exemplo''usuario@shell.ime.usp.br:/home/posmac/usuario/www/index.html'').+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 **?**, programa devolve a página de ajudaque inclui a lista de atalhos de tecla:
  
-Também podem ser usados caracteres coringacomo ''*''+<code> 
- +Screen key bindingspage 1 of 4
-==== Exemplos de scp ==== +  
- +Command key:  ^A   Literal ^A:  a 
-<code bash> +  
-scp aula1.html rita@shell.ime.usp.br:www/aulas/+break      ^B b          only       Q 
 +clear      C             other      ^A 
 +colon                  pow_break 
 +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               select     ' 
 +help       ?             silence    _
 </code> </code>
-Transfere o arquivo ''aula1.html'', que está no diretório atual de seu computador, para o diretório ''$HOME/www/aulas'' da rede IME. 
  
-<code bash> +(**^tecla** é uma representação de **ctrl+tecla**)
-scp aula1.html rita@shell.ime.usp.br: +
-</code> +
-Transfere o arquivo ''aula1.html'' para o diretório ''$HOME'' do usuário ''rita'' na rede IME.  Note que **é preciso digitar os dois pontos**.+
  
-<code bash> +====Deixar um processo remoto rodando====
-scp -r mac1234/ beto@shell.ime.usp.br:www/mac1234/ +
-</code>+
  
-Transfere diretório local ''mac1234''com todo seu conteúdo, para o diretório ''www/mac1234/'' na rede IME, se esse diretório não existir ainda(Ver também instrução sobre o comando ''rsync''abaixo, para sincronizar diretórios).+Rodar comando **ctrl+a d** separa o usuário da janela eno caso mais comum (janela única), volta usuário para a própria //shel//. Note que os processos controlados pela janela continuam rodandoassim você pode fazer
  
 <code bash> <code bash>
-scp mac1234/* beto@shell.ime.usp.br:www/mac1234/+[usuario@maquina_remota] $ screen 
 +[usuario@maquina_remota] $ rodar_processo_muito_longo
 </code> </code>
  
-Transfere os arquivos imediatamente abaixo de ''mac1234'' para o diretório ''www/mac1234/'' na rede IMEcaso este diretório já exista. (Ver também instrução sobre o comando ''rsync'', abaixo, para sincronizar diretórios).+eapós o comando **ctrl+a d**ir para casa, tomar banho, assistir Netflix, dormir, e voltar no dia seguinteMas como voltar ao processo?
  
-<code bash> +====Voltar à janela do screen====
-scp beto@shell.ime.usp.br:private/prova.tex provas/ +
-</code>+
  
-Transfere o arquivo ''provas.tex'', que está dentro do diretório ''private/'' na rede IMEpara computador local.+Após logar de novo via SSH na máquina remotarode comando
  
-<code bash+<code> 
-scp ~/transferencia/* manuel@shell.ime.usp.br:/tmp/transferencia/+screen -r
 </code> </code>
  
-Copia todos os arquivos que estão no diretório local ''~/transferencia'' para o diretório ''/tmp/transferencia/'' do servidor IME, com a conta de ''manuel''. Note que a pasta deve existir, o usuário ''manuel'' precisa ter permissão de escrita. +e você voltará à mesma janelapossivelmente aberta no dia anterior.
- +
-Para saber mais sobre o ''scp'', digite em uma linha de comando: ''man scp''+
- +
-===== Sincronizando diretórios com o Rsync ===== +
- +
-O comando ''scp'' é melhor para transferir arquivos uma vez só.  Caso você esteja sempre editando vários arquivos em um diretório e sincronizando-o com outro computadoro comando ''rsync'' atenderá melhor as suas necessidades.  A sintaxe básica é parecida: +
- +
-<code bash> +
-rsync -r origem/ destino/ +
- +
-# exemplo do computador local para a rede IME +
-rsync -r webpage/ usuario@shell.ime.usp.br:www/ +
- +
-# exemplo da rede IME para o computador local: +
-rsync -r usuario@shell.ime.usp.br:/tmp/resultados/ pesquisa/resultados/ +
-</code>+
  
-**É importante digitar as barras no final, depois dos nomes dos diretórios**.  A opção ''-r'' transmite o conteúdo de diretórios recursivamente, assim como no ''scp''. Uma vez que o comando termine, o conteúdo de ''destino/'' espelhará tudo que está em ''origem/''.+====Múltiplas Janelas====
  
-O comando ''rsync'' é muito mais poderoso que o ''scp'', mas também é mais complexo, e possui inúmeras opções Destacamos algumas das mais interessantes:+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**.
  
-  * ''-r'': Transmite o conteúdo de diretórios, recursivamente. +====Finalizando====
-  * ''-z'': Comprime os arquivos durante a transferência. Bom para Internet lenta. +
-  * ''-P'': Mostra o progresso da transferência, e mantém transferências parciais para continuar depois. +
-  * ''-u'' (''%%--%%update''): Só transmite arquivos que são mais novos na origem. +
-  * ''-c'' (''%%--%%checksum''): Só transmite arquivos que são diferentes na origem. +
-  * ''--delete'': Apaga arquivos no destino que foram apagados (ou não existem) na origem. **Cuidado!** +
-  * ''-n'': Não transfere os arquivos nem altera nada; só mostra o que seria feito.+
  
-Para saber mais sobre ''rsync'', consulte ''man rsync''ou procure guias na Internet.+Depois que fizer que precisasaia do **screen** com o comando <code> exit </code>.
tutoriais/utilizando_comando_screen.1464893972.txt.gz · Last modified: 2019-03-15 10:03 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki