Como Utilizar o Screen no Linux

Já se deparou alguma vez com a situação em que está a realizar uma tarefa demorada numa máquina remota e, de repente, a sua conexão cai, a sessão SSH é terminada, e o seu trabalho é perdido? Esta eventualidade já ocorreu a todos nós em algum momento, não é verdade? Felizmente, existe uma ferramenta chamada screen que nos permite retomar as sessões.

Introdução

O Screen, ou GNU Screen, é um multiplexador de terminal. Por outras palavras, isto significa que pode iniciar uma sessão de screen e depois abrir qualquer número de janelas (terminais virtuais) dentro dessa sessão. Os processos em execução no Screen continuarão a funcionar mesmo quando a sua janela não estiver visível, mesmo que se desconecte.

Instalar o GNU Screen no Linux

O pacote screen está pré-instalado na maioria das distribuições Linux atualmente. Pode verificar se está instalado no seu sistema digitando:

Bash
screen --version

Se não tiver o screen instalado no seu sistema, pode instalá-lo facilmente usando o gestor de pacotes da sua distribuição.

Instalar o Screen no Ubuntu e Debian

Bash
sudo apt update
sudo apt install screen

Instalar o Screen no CentOS e Fedora

Bash
sudo yum install screen

Iniciar o Linux Screen

Para iniciar uma sessão de screen, basta digitar screen no seu terminal:

Bash
screen

Isto abrirá uma sessão de screen, criará uma nova janela e iniciará um shell nessa janela.

Agora que abriu uma sessão de screen, pode obter uma lista de comandos digitando:

Bash
Ctrl+a ?

Iniciar uma Sessão com Nome

As sessões com nome são úteis quando executa múltiplas sessões de screen. Para criar uma sessão com nome, execute o comando screen com os seguintes argumentos:

Bash
screen -S nome_da_sessao

É sempre uma boa ideia escolher um nome descritivo para a sessão.

Trabalhar com Janelas no Linux Screen

Quando inicia uma nova sessão de screen, cria uma única janela com um shell dentro dela.

Pode ter múltiplas janelas dentro de uma sessão de Screen.

Para criar uma nova janela com um shell, digite Ctrl+a c; o primeiro número disponível do intervalo 0…9 será atribuído a ela.

Abaixo estão alguns comandos mais comuns para gerenciar as janelas no Linux Screen:

Bash
Ctrl+a c Criar uma nova janela (com shell).
Ctrl+a " Listar todas as janelas.
Ctrl+a 0 Alternar para a janela 0 (por número).
Ctrl+a A Renomear a janela atual.
Ctrl+a S Dividir a região atual horizontalmente em duas regiões.
Ctrl+a | Dividir a região atual verticalmente em duas regiões.
Ctrl+a tab Alternar o foco de entrada para a próxima região.
Ctrl+a Ctrl+a Alternar entre as janelas atual e anterior.
Ctrl+a Q Fechar todas as regiões exceto a atual.
Ctrl+a X Fechar a região atual.

Desconectar de uma Sessão do Linux Screen

Pode desconectar da sessão de screen a qualquer momento digitando:

Bash
Ctrl+a d

O programa em execução na sessão de screen continuará a ser executado depois de se desconectar da sessão.

Reconectar a uma Sessão do Linux Screen

Para retomar a sua sessão de screen, use o seguinte comando:

Bash
screen -r

Se tiver múltiplas sessões de screen em execução na sua máquina, precisará adicionar o ID da sessão de screen após o comando r.

Para encontrar o ID da sessão, liste as sessões de screen em execução atualmente com:

Bash
screen -ls

Se quiser restaurar a sessão 10835.pts-0, então digite o seguinte comando:

Bash
screen -r 10835

Personalizar o Screen do Linux

Quando o screen é iniciado, ele lê os seus parâmetros de configuração de /etc/screenrc e ~/.screenrc se o arquivo estiver presente. Podemos modificar as configurações padrão do Screen de acordo com as nossas preferências usando o arquivo .screenrc.

Aqui está uma configuração ~/.screenrc de exemplo com linha de status personalizada e algumas opções adicionais:

Bash
~/.screenrc
# Desligar a mensagem de boas-vindas
startup_message off

# Desativar o sinal sonoro visual
vbell off

# Definir o buffer de rolagem para 10000
defscrollback 10000

# Personalizar a linha de status
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'

Uso Básico do Screen do Linux

Abaixo estão os passos mais básicos para começar a usar o screen:

No prompt de comando, digite screen.
Execute o programa desejado.
Use a sequência de teclas Ctrl-a + Ctrl-d para desconectar da sessão de screen.
Reconecte à sessão de screen digitando screen -r.

Conclusão

Neste tutorial, aprendeu como usar o Gnu Screen. Agora pode começar a usar a utilidade Screen e criar múltiplas janelas de screen a partir de uma única sessão, navegar entre janelas, desconectar e retomar sessões de screen e personalizar o seu terminal de screen usando o arquivo .screenrc.

Há muito mais para aprender sobre o Gnu Screen na página do Manual do Utilizador do Screen.

Se tiver alguma dúvida ou comentário, não hesite em deixar um comentário.

Artigos Relacionados