Terminais múltiplos com screen

Quem usa Linux no desktop pode livremente abrir mais de um terminal ou mais de uma aba no terminal, quem está acostumado com o Vim e o Emacs também pode ter múltiplas janelas dentro do editor. Mas as vezes é útil em um mesmo terminal, como numa sessão ssh, você ter mais de uma janela, ai entra o screen!

O uso do screen é bem simples, ele cria uma sessão de shell (bash, zsh, etc…) da qual você pode se “desplugar” e voltar depois, aonde você inclusive manter múltiplas sessões e janelas.

Para iniciar uma sessão usando um apelido, basta usar o comando “screen -S nome” e para reconectar a uma sessão interrompida “screen -r -S nome”.

Os comandos para manipular o screen começam com CTRL+A, você pode sedesconectar de uma sessão sem encerrá-la com “CTRL+A CTRL+D”, pode salvar o histórico usando “CTRL+A SHIFT+H”, e ao encerrar a sessão tudo vai para um log.

Dentro de uma sessão você pode iniciar outro shell usando “CTRL+A CTRL+C”, ver alista de shells usando “CTRL+A CTRL+W”, ir para o próximo shell usando “CTRL+A CTRL+A”.

Você pode ter janelas em uma sessão como no vim/emacs. Divide a janela horizontalmente usando “CTRL+A SHIFT+S”, divida a janela verticalmente usando“CTRL+A | “ (é o caractere de “pipe”, sabe?). Você alternar entre janelas usando“CTRL+A CTRL+I”, para fechar a janela usa-se “CTRL+A SHIFT+X”. Veja que uma janela começa sem shell nenhum.

O screen permite ainda que mais de um usuário se conecte a uma sessão, para permitir que sua sessão tenha mais de um usuário você pode usar “CTRL+A :multiuser on”, e adicione um usuário usando “CTRL+A :acladd user”, agora o outro usuário pode por exemplo fazer ssh para sua maquina e entrar na sua sessão usando “screen -x user/nome_da_sessao”. Para usar o multiusuário o screen deve rodar com “setuid”.

Lembre de não sair usando “ctrl+d” ou o screen vai encerrar, de agora em diante use o “ctrl+a ctrl+d” para manter a sessão rodando.

 

Fonte: http://manifesto.blog.br/2.0/Linux/screen-linux

.