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 se desconectar 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 a lista 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.

2 ideias sobre “Terminais múltiplos com screen

  1. As citações extras sobre “Ctrl” são desnecessárias. Para desconectar uma sessão sem encerrá-la, por exemplo, o correto é “Ctrl a d” (letras minúsculas). E no caso de apertar o shift, basta representar como letra maiúscula que o shift já fica implícito, assim a notação fica mais simples e fácil de ler e lembrar, como em “Ctrl a H”, para gravar o log.

    E para quem quer colocar o screen com SUID no Debian (não vem por padrão), basta executar o comando “chmod u+s /usr/bin/screen” como root.

Comentários encerrados.