Usando comando screen

  • Post author:
  • Post category:Sem categoria

Screen Uma Ferramenta ?til

? Ricardo Iramar dos Santos – Agent Smith

01/04/2004 – Vers?o 0.1

Introdu??o

Screen ? um gerenciador de janelas similar aos terminais virtuais do Linux com muito mais recursos desenvolvido pelo projeto GNU.

Basicamente eu o utilizo para duas finalidades, para poder abrir clients de irc e IMs em janelas separadas numa mesma sess?o ssh e compartilhar sess?es ssh para aprender e/ou ensinar. Al?m dessas um outra finalidade interessante ? deixar algum processo/compila??o rodando em uma janela e depois remotamente ver o andamento.

Mas o Screen n?o se limita somente a isso, na man page dele voc? ir? encontrar muitas informa??es ?teis. Bem, vamos ao que interessa …

Pr?-requisitos

A id?ia aqui n?o ? ensinar como instalar o Screen e sim explorar alguns de seus recursos. Portanto se voc? ainda n?o tem ele instalado (provavelmente tem) acesse o site http://www.gnu.org/software/screen/screen.html e siga as docs para instalar.

Utilizando

Vamos dizer que voc? pretende acessar uma m?quina remotamente via ssh e abrir seu client de irc (eu uso irssi http://irssi.org, e voc??) e um IM client (ex. centericq http://konst.org.ua/centericq/) pois n?o ? em todo lugar que voc? ter? acesso a isso.

Logado na m?quina remota execute o Screen:

[email protected]:~$ screen

U?, mas n?o aconteceu nada? ? um outro jeito de limpar a tela? N?o, execute “ps aux” e veja o processo do screen rolando, isto ?, voc? j? est? em uma janela do Screen.

T?, e da?? Calma, vamos ao primeiro comando b?sico:

[email protected]:~$ screen -ls
There is a screen on:
483.pts-0.maplefire (Attached)
1 Socket in /home/agent/.screen.

[email protected]:~$

Voc? acabou de listar as sess?es abertas do screen onde a sess?o marcada com (Attached) ? a sess?o que voc? est? agora. Al?m de multiplas janelas voc? pode abrir multiplas sess?es, observe que este comando lista as sess?es e n?o as janelas.

Vamos criar a segunda janela virtual porque a primeira j? abre por default quando voc? inicia o Screen. Para isso pressione “Ctrl+a” simultan?amente, solte e em seguida pressione “c”. Mais uma forma de limpar a tela? N?o, agora voc? na segunda janela virtual do screen. Para facilitar estarei usando formas contra?das de escrever esses comandos similar a man page, este comando por exemplo de criar uma nova janela em uma forma contra?da ficaria assim “C-a c”, manjo?

Familiarize com essas teclas de atalho pois todas s?o bem similares baseadas em pressionar o Ctrl mais uma letra e seguida por outra. Provavelmente todos os comandos podem serem executaods via screen seguido de algum par?metro, entretanto eu prefiro os atalhos por serem muito mais r?pidos.

Para listar as janelas utilize o atalho “C-a w”. Pow! Cad? a lista de janelas? Tamb?m achei uma p?ssima id?ia colocar isso no t?tulo da janela, isso se estiver usando um WM, caso contr?rio (console) ir? aparecer no canto inferior esquerdo da tela. A janela na qual voc? esta ? marcada com um *.

Para navegar entre as janelas utilize o atalho “C-a n” (n de next, isto ?, pr?xima janela) e “C-a p” (p de previous o mesmo que anterior). Pronto! Agora voc? j? pode abrir quantas janelas quiser e/ou precisar e deixar qualquer processo rolando nelas.

Mas como fechar a sess?o ssh sem finalizar a(s) sess?o(?es) do Screen? Execute “C-a d” que ir? rertornar [detached] que quer dizer descolar. Execute “screen -ls” e voc? ver? a a sess?o que voc? acabou de sair marcada como (Detached).

Vamos dizer que voc? foi trabalhar e do escrit?rio voc? quer ver o andamento dos processos deixados nas janelas ou acessar seus clients. Acesse a m?quina via ssh novamente e digite “screen -r” vual?! Agora vamos compartilhar essa sess?o com um amigo seu.

Pe?a para seu amigo acessar a sua m?quina via ssh com o mesmo user que voc? esta logado. Assim que ele logar pe?a para executar “screen -x”. Com este comando ele ir? se conectar a mesma sess?o que voc? esta e desta forma tudo o que voc? e ele fizerem ser?o visto pelos dois. Voc? pode conectar quantas pessoas quiser a uma sess?o do Screen. COOL!!!

Para fechar uma janela basta digitar “exit” na ?ltima janela o Screen ser? finalizado. Somente com esses comandos b?sicos j? ? poss?vel fazer muita coisa agora se voc? der uma olhada na man page (man screen) ver? que voc? n?o aprendeu nada sobre o screen.

Conclus?o

Exagerando eu diria que o c?u n?o ? o limite e sim a sua imagina??o pois com a quantidade de possibilidades que o screen oferece somente olgu?m muito inocente para n?o perceber a sua utilidade. N?o esque?a de visitar a man page e o google, eles s?o seus amigos e n?o v?o te morder.

Refer?ncias

* http://www.gnu.org/software/screen/screen.html
* http://www.google.com.br

Fonte: Dical-L