Comando Linux Screen: O guia definitivo para gerenciar sessões

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Cansado de perder o progresso de um script longo porque sua conexão SSH caiu? O comando Linux screen é a solução padrão para manter processos rodando em segundo plano, proteger sessões contra falhas de rede e transformar um único terminal em uma central de multitarefa.

O que é o GNU Screen?

O Screen é um multiplexador de terminal que permite criar, acessar e alternar entre múltiplas sessões virtuais dentro de uma única janela física. Diferente de terminais comuns, as sessões do Screen persistem independentemente da sua conexão; se você se desconectar, os processos continuam rodando no servidor até que você volte.

O QUE VOCÊ PRECISA SABER:

  • Persistência: Scripts continuam rodando mesmo se você fechar o terminal ou perder a internet.
  • Organização: Gerencie múltiplas abas de terminal via linha de comando sem interface gráfica.
  • Legado vs. Moderno: Embora o tmux seja popular, o screen vem pré-instalado na maioria absoluta dos servidores Linux.:::

Pré-requisitos e Instalação

Embora onipresente, é possível que versões “minimal” de distros não o tragam por padrão. Verifique a instalação e instale se necessário:

Bash
# Verifique a versão instalada
screen --version

# Instalação no Debian/Ubuntu/Mint
sudo apt update && sudo apt install screen -y

# Instalação no RHEL/CentOS/Fedora
sudo dnf install screen -y

Passo a Passo: Dominando o Ciclo de Vida do Screen

O fluxo de trabalho profissional consiste em três etapas: Nomear, Executar e Destacar (Detach).

1. Inicie uma Sessão Nomeada

Evite rodar apenas screen (que cria sessões com IDs numéricos difíceis de memorizar). Crie uma sessão identificável para facilitar o gerenciamento futuro.

Bash
# Cria uma nova sessão chamada "backup-dados"
screen -S backup-dados

DICA PRO: Sempre use a flag -S. Quando você tiver 5 sessões rodando daqui a um mês, agradecerá por ter dado nomes descritivos a elas.

2. Execute seus Processos

Agora você está dentro de um terminal virtual. Rode qualquer comando demorado normalmente.

Bash
# Exemplo: Atualizando o sistema (pode levar minutos ou horas)
sudo apt full-upgrade -y

3. O “Pulo do Gato”: Detach (Desconectar sem Fechar)

Aqui está a mágica. Para sair do servidor e deixar o comando rodando, você deve “desanexar” a tela.

Pressione a seguinte sequência:

  1. Ctrl + a (Solte as teclas)
  2. d

Você verá a mensagem [detached]. Seu terminal voltou ao normal, mas o processo de atualização continua firme e forte no background.

4. Reattach (Retomar a Sessão)

Voltou do almoço ou logou novamente no servidor? Recupere sua sessão.

Bash
# 1. Liste as sessões ativas para ver os nomes
screen -ls

# Saída esperada:
# There is a screen on:
#     2456.backup-dados    (Detached)

# 2. Reconecte-se à sessão específica
screen -r backup-dados

ALERTA: Se a sessão ainda estiver marcada como (Attached) (por exemplo, se sua conexão caiu bruscamente e o servidor ainda não percebeu), use screen -d -r nome_sessao para forçar o desanexamento remoto e reconectar aqui.

Cheat Sheet: Atalhos Essenciais

O Screen usa uma “tecla de comando” (Meta Key), que por padrão é Ctrl + a. Pressione Ctrl + a, solte e então pressione a tecla de ação:

AçãoTecla de Atalho (Após Ctrl+a)Função
Criar JanelacAbre uma nova aba dentro da mesma sessão.
Próxima Janelan ou EspaçoAlterna para a próxima aba.
Janela AnteriorpVolta para a aba anterior.
Listar Janelas" (aspas)Mostra uma lista vertical selecionável.
Nomear JanelaA (Shift+a)Renomeia a aba atual (útil para organização).
Modo Scroll[ ou EscPermite rolar o texto para cima (Use Enter para sair).
Matar JanelakEncerra a aba atual forçadamente.

Personalização Avançada (.screenrc)

O visual padrão do Screen é austero (sem barra de status). Você pode modernizá-lo editando o arquivo de configuração.

Edite o arquivo na sua home:

Bash
nano ~/.screenrc

Cole estas configurações para adicionar uma barra de status útil na parte inferior:

Bash
# Desativa a mensagem de boas-vindas
startup_message off

# Adiciona uma barra de status com [Lista de Janelas] Data e Hora
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= ][ %{g}%Y-%m-%d %{W}%c %{g}]'

Screen vs. Tmux: Qual escolher em 2026?

Muitos usuários avançados migraram para o Tmux devido à sua arquitetura mais limpa e facilidade de divisão de painéis (split panes).

  • Use o Screen se: Você administra servidores legados, roteadores ou sistemas onde não tem permissão para instalar novos pacotes. O Screen está instalado em praticamente qualquer lugar.
  • Use o Tmux se: Você quer um ambiente de desenvolvimento complexo com muitas divisões de tela e plugins modernos.

VEREDITO: Para tarefas rápidas de sysadmin e manutenção de conexão, o Screen continua sendo a ferramenta mais rápida e direta ao ponto (“batteries included”).

Perguntas Frequentes (FAQ)

Posso dividir a tela (split) no Screen?

Sim. Use Ctrl+a seguido de S (split horizontal) ou | (split vertical). Para navegar entre as regiões, use Ctrl+a e Tab.

Como encerro uma sessão travada?

Se o programa dentro do screen travou e você não consegue digitar, pressione Ctrl+a e depois k (kill) para matar aquela janela específica. Para encerrar a sessão inteira via terminal externo, use screen -X -S [nome] quit.

O Screen consome muita memória?

Não. O Screen é extremamente leve. Ele consome apenas alguns megabytes de RAM, mesmo gerenciando múltiplas janelas, sendo ideal para VPS com poucos recursos (LowEndBox).

Compartilhe este artigo