De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Ricardo Iramar dos Santos
Data de Publicação: 08 de Julho de 2004
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ê
encontrará muitas informações úteis. Bem, vamos ao que interessa ...
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 e siga
as docs para instalar.
Vamos dizer que você pretende acessar uma máquina remotamente via ssh e abrir seu client de irc (eu uso irssi, e você?) e um IM client (ex. centericq) pois não é em todo lugar que você terá acesso a isso.
Logado na máquina remota execute o Screen
:
agent@maplefire:~$ 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:
agent@maplefire:~$ screen -ls
There is a screen on:
483.pts-0.maplefire (Attached)
1 Socket in /home/agent/.screen.
agent@maplefire:~$
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
, manjou?
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
.
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.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários