Multiplexando seu Terminal com GNU Screen

Se quiser crie até uma barra de status no terminal estilo Vim.


Multiplexando seu Terminal com GNU Screen

Já faz tempo que nós mostramos em um vídeo Como Utilizar o TMUX , pois é, o GNU Screen possui ainda mais recursos que ele.

Introdução

GNU Screen é um software livre multiplexador de terminal de linha de comando desenvolvido pelo Projeto GNU. Permite que o usuário acesse múltiplas sessões separadas de terminal a partir de uma mesma janela ou mesmo remotamente. É muito útil para manipular vários programas em uma mesma janela ou mesmo para manter processos em execução de fundo.

GNU Screen pode ser considerado como uma versão modo texto dos gerenciadores de janelas gráficas. Além de permitir que vários programas modo texto sejam executados ao mesmo tempo, provê funcionalidades tais como:

Instalação

Use o gerenciador de pacotes da sua distribuição, mas antes rode o comando screen para ver se não já está instalado, exemplo: emerge screen Exemplos:

emerge app-misc/screen
sudo apt install screen
sudo pacman -S screen
# ...

Utilização

Você pode iniciar o GNU Screen com o comando:

screen

Agora saiba que a combinação de tecla que o screen escuta é Ctrl + a, e essa combinação é simplesmente resumida como C-a , ou seja, toda vez que você ler C-a quer dizer Ctrl + a . Exemplos:

Resumindo: supondo que você acabou de rodar o comando screen, supondo que você rodou C-a | então para passar para essa nova janela: C-a TAB e depois C-a c. 😃

Os atalhos podem ainda ser visualizados com: C-a ? ou usando o help e o manual:

screen --help
man screen

Criando uma Barra de Status estilo Vim

Para isso você precisa criar um arquivo ~/.screenrc e inserir nele o seguinte conteúdo:hardstatus alwayslastline " %d-%m-%y %c:%s | %w", ou rode simplesmente o comando abaixo:

echo 'hardstatus alwayslastline " %d-%m-%y %c:%s | %w"' >> $HOME/.screenrc; screen

Toda vez que você abrir o screen automaticamente essa barra fará presença. Se quiser removê-la, é só apagar o conteúdo ou o arquivo ~/.screenrc .

Isso vai mostrar a data e hora e seu nome de usuário e o host , além no número da janela.

Se quiser que quando você abrir o terminal automáticamente crie essa barra, insira esse conteúdo no seu .bashrc:

if [ -z "$STY" ]; then
    exec screen
fi

Se ainda quiser que ele mate automáticamente qualquer outra sessão, incluindo o terminal, troque o exec screen por exec screen -dR.

Conclusão

O GNU Screen é bastante utilizado para conexões remotas de sessões . Por exemplo, se você deixou algo compilando ou instalando no seu trabalho ou qualquer outro lugar, daí você deseja conectar via ssh , mas recuperar a sessão (como se estivesse lá na frente do computador), você pode usar o GNU Screen . Exemplo:

ssh -t host.example.com screen -R -d

Espero que você tenha gostado e não esqueça de ver a documentação, manual, help, ajuda e se quiser esse Cheat Sheet

Abraços!

Compartilhe

Marcos Oliveira

Autor
Marcos Oliveira
Desenvolvedor de Software
youtube.com/TerminalRootTV

Pacote Promocional com Todos os Cursos

Adquira todos os cursos para se tornar um ninja do Terminal e do Linux.

Artigos Relacionados



Comentários