Múltiplos terminais virtuais com o GNU Screen
Se você gosta de utilizar o terminal de comandos do linux sabe que é necessário gastar alguns minutos o personalizando, também é muito útil usar o recurso de abas para poder fazer várias atividades ao mesmo tempo, o que muitas pessoas não sabem é que existe o recurso do comando ‘screen’ criado pelo projeto GNU que fornece o recurso de múltiplas janelas sem a necessidade da intervenção de um terminal com suporte a abas.
O que é o screen?
O screen é um multiplexador de terminais que permite ao usuário em uma mesma sessão abrir várias janelas e realizar atividades paralelas, este recurso é um pouco subestimado pois a maioria das atividades de usuários comuns são feitas na sua máquina local e então basta utilizar um terminal com suporte a abas para se obtêr o mesmo efeito: vários terminais com diferentes sessões e atalhos que permitem a movimentação entre si afim de se realizar várias atividades;
A diferença do GNU screen é que as janelas que ele cria são dentro de uma mesma sessão e isso é muito útil por exemplo numa sessão remota via SSH, em vez de o usuário acessar várias vezes o servidor para realizar atividades paralelas como faria normalmente, o GNU screen permite um único acesso e várias janelas diferentes onde é possível realizar várias atividades em conjunto na mesma sessão.
Parece bom! Como uso o GNU Screen?
É fácil, basta digitar ‘screen’ e ele já começa a rodar, abaixo veremos alguns argumentos interessantes que tornam ainda mais eficiente essa solução.
$ screen
(inicia a sessão multiplexada, praticamente você recebe um novo prompt)
$ screen -ls
There is a screen on:
31248.pts-2.sf064515 (Attached)
1 Socket in /var/run/screen/S-mulatinho.
(pode ser visto acima o nome da sessão ‘31248.pts-2.sf064515’ screen rodando)
$ screen -r NomeDaSessao
(puxa uma sessão que está solta para a tela atual)
Ótimo! Funcionou, mas onde está a multiplexação?
Apartir do momento em que você está dentro do multiplexador screen as coisas mudam um pouco de figura e todo o gerenciamento de janelas e comandos é feito utilizando a sequência de caracteres **“CTRL + A +
c [create] cria uma nova janela
n [next] modifica a janela para a próxima da lista
X [delete] deleta uma janela
A [rename] renomeia uma janela
S [split] divide janelas na mesma tela (várias janelas na tela atual)
TAB [split next] alterna entre as janelas dividas
[ [scrollback] permite subir a tela para vêr mais acima e copiar dados
ESC [cancel] cancela alguma opção
: [two points] permite digitar comandos (man screen)
:resize [resize] permite redefinir o tamanho da janela
Então ao rodar o comando ‘screen’ você receberá um novo prompt de comando e só então poderá digitar no seu teclado a sequência ‘CTRL + A + c’ e vêr que uma nova janela foi criada e depois ‘CTRL + A + n’ para navegar entre as janelas e poder realizar várias atividades. Você verá que utilizando as opções acima e com um pouco de prática o uso do GNU Screen te tornará muito mais eficiente no terminal. Tente um pouco e veja você também!!
Descrição das figuras
Figura 1: Mostra o screen rodando e o usuário listando as sessões ativas; Figura 2: Mostra duas sessões rodando embaixo do screen e as janelas divididas; Figura 3: Mostra a sessão rodando com o comando ‘top’ mostrando e outra disponível; Figura 4: Mostra o seletor de janelas na primeira, e o comando de print da tela na segunda;
Fiquem ligados que em breve sairá um artigo sobre como se tornar mais eficiente editando arquivos e escrevendo códigos utilizando o GNU Screen e o VIM. :)