Guia para usar os comandos de tela no Linux
Introdução
O comando screen é um poderoso multiplexador de terminal para Linux e sistemas semelhantes ao Unix. Ele permite gerenciar várias sessões de shell em uma única janela de terminal, manter as sessões em execução mesmo após o logout e reconectar-se a essas sessões posteriormente. Isso é particularmente útil para sessões remotas por SSH, pois garante que os processos de longa duração não sejam interrompidos se a conexão cair. Neste guia, abordaremos como instalar, usar e gerenciar sessões de tela, juntamente com alguns comandos comuns e dicas práticas.
Por que usar o screen?
O uso do screen oferece várias vantagens:
- Gerenciamento de sessões: Execute várias sessões de shell em uma única janela de terminal.
- Persistência da sessão: Continue executando processos mesmo se você se desconectar do terminal ou perder a conexão SSH.
- Reanexação: Reconecte-se a uma sessão a qualquer momento e continue de onde parou.
- Facilidade de uso: comandos e atalhos simples facilitam o gerenciamento das sessões.
Tela de instalação
o screen geralmente vem pré-instalado na maioria das distribuições Linux. No entanto, se ele não estiver disponível em seu sistema, você poderá instalá-lo usando o gerenciador de pacotes:
- Debian/Ubuntu:
sudo apt-get update
sudo apt-get install screen
- CentOS/RHEL:
sudo yum install screen
- Fedora:
sudo dnf install screen
- Arch Linux:
sudo pacman -S screen
Depois de instalado, você pode começar a usar o screen imediatamente.
Início de uma sessão do screen
Para iniciar uma nova sessão do screen, basta digitar:
screen
Isso abrirá uma nova sessão de tela com uma interface de linha de comando que se comporta como um terminal normal. Você pode começar a executar comandos ou processos nessa sessão.
Para iniciar uma nova sessão com um nome específico (facilitando o gerenciamento posterior), use:
screen -S nome_da_sessão
Substitua session_name por um nome significativo para sua sessão.
Desvinculação e revinculação de sessões
Um dos recursos mais úteis da tela é a capacidade de se desconectar de uma sessão e se reconectar mais tarde.
Desvinculação de uma sessão
Para se desconectar de uma sessão de tela sem fechá-la, pressione:
Ctrl A , D
A sequência Ctrl A informa à tela que você está prestes a dar um comando, e D significa “desconectar” Após a desconexão, sua sessão continuará sendo executada em segundo plano.
Como se conectar novamente a uma sessão
Para reconectar-se a uma sessão desconectada, use:
screen -r
Se você tiver várias sessões, poderá listá-las e escolher a sessão específica à qual se conectar:
screen -ls
Esse comando exibirá todas as sessões de tela ativas, incluindo seus IDs e nomes:
Há telas em:
1234.nome_da_sessão (Desanexado)
5678.outra_sessão (Desanexada)
2 Sockets em /var/run/screen/S-user.
Para se conectar novamente a uma sessão específica, use seu ID ou nome:
screen -r 1234
ou
screen -r nome_da_sessão
Uso de várias janelas em uma única sessão de tela
a tela permite criar várias janelas em uma única sessão. Isso significa que você pode executar diferentes comandos ou processos em janelas separadas e alternar entre elas facilmente.
Criação de uma nova janela
Para criar uma nova janela dentro de uma sessão de tela existente, pressione:
Ctrl A , C
Isso abrirá uma nova janela com um novo prompt do shell.
Navegação entre janelas
Para alternar entre as janelas, use:
- Ctrl A, N: Ir para a próxima janela.
- Ctrl A, P: Ir para a janela anterior.
- Ctrl A, “: exibe uma lista de janelas abertas e escolhe uma para a qual alternar.
Renomear uma janela
Para renomear uma janela para melhor organização, pressione:
Ctrl A , A
Digite o novo nome da janela e pressione Enter.
Fechamento de uma janela
Para fechar uma janela, basta sair do shell em execução nessa janela digitando:
exit
ou pressionando Ctrl D .
Bloqueio e desbloqueio de uma sessão de tela
Se precisar bloquear temporariamente a sessão de tela, use o seguinte comando:
Ctrl A , X
Isso exigirá que você digite sua senha de usuário para desbloquear a sessão.
Personalização da configuração da tela
O comportamento do screen pode ser personalizado usando o arquivo .screenrc, localizado em seu diretório pessoal. Você pode adicionar comandos a esse arquivo para alterar as associações de teclas padrão, definir títulos de janelas e personalizar o comportamento de inicialização do screen.
Para criar ou editar o arquivo .screenrc, use um editor de texto:
nano ~/.screenrc
Aqui estão alguns exemplos de configurações que você pode adicionar:
# Alterar a sequência de escape padrão para Ctrl B
escape ^Bb#
Defina uma linha de status na parte inferior da telahardstatus on
hardstatus alwayslastline “%{= kw}%-w%{= BW}%n %t%{-}% w”
Salve o arquivo e reinicie a tela para aplicar as alterações.
Exemplos de casos de uso da tela
- Execução de processos de longa duração: Se precisar executar um script ou um comando que leva muito tempo para ser concluído, execute-o em uma sessão de tela. Dessa forma, mesmo que você se desconecte do SSH, o processo continuará em execução.
- Gerenciamento de várias sessões: Se estiver trabalhando em vários projetos, poderá usar diferentes sessões de tela ou janelas para cada tarefa.
- Gerenciamento de servidor remoto: Use a tela para gerenciar servidores remotos via SSH. Isso é especialmente útil para administrar servidores que exigem manutenção ou monitoramento contínuos.
Conclusão
O comando screen é uma ferramenta versátil e poderosa para gerenciar várias sessões de terminal e executar processos longos em sistemas Linux. Com a capacidade de desanexar, reanexar e criar várias janelas, o screen oferece um ambiente robusto para usuários casuais e avançados. Se você estiver executando scripts complexos ou apenas precisar de uma maneira de manter uma sessão de shell persistente, o domínio do screen aumentará muito sua produtividade e flexibilidade no Linux.