Como usar o multiplexador de terminal de exibição no Linux

Conteúdo

Como usar o utilitário GNU Screen no Linux

Deseja executar várias sessões de tela virtual a partir de um único console de terminal? Ou evite quedas de conexão com a Internet ao sair do console via SSH? Sim é assim, bem-vindo ao multiplexador de terminal GNU Screen em seu kit de ferramentas hoje.

Usando o utilitário de exibição GNU

O utilitário GNU Screen para Linux é um multiplexador de tela versátil que permite iniciar várias sessões de tela virtual (pense neles como janelas de console adicionais) da sua sessão de terminal atual.

Começar é fácil. Você pode instalar a ferramenta GNU Screen usando sudo apt install screen na linha de comando do seu terminal:

Instalando a tela GNU

Se você estiver usando um sistema operacional baseado em RedHat / RPM, substitua `apt` por` yum` no comando acima.

Para abrir um novo console virtual, agora você pode apenas digitar screen e aperte enter, que irá apresentar a você uma tela de boas-vindas:

Tela GNU tela de boas-vindas

Basta pressionar a barra de espaço ou voltar para fechar a tela de boas-vindas. O prompt de comando aparecerá para retornar, mas na realidade, você está agora dentro de uma sessão de tela virtual. Pense nisso como uma sessão de terminal alternativa, rodando dentro da sessão de terminal acima.

Uma das melhores coisas sobre a tela GNU é que mesmo se a sessão principal do terminal / pai vai falhar ou travar de alguma forma (como um exemplo, devido a uma conexão de rede perdida), e mesmo quando a sessão principal do terminal fecha ou termina / Papai, isso A sessão de tela permanecerá ativa e em execução!

É fácil verificar se estamos atualmente em uma sessão de tela ou não:

Verificar se esta é uma sessão de tela GNU ou não

Esta declaração if testa se o $STY a variável está definida ou não. Se ele $STY variável de ambiente está definida, então esta é uma sessão de tela.

Então, Como voltamos para a nossa sessão principal / terminal principal? Isso pode ser feito usando uma combinação de teclado que a tela GNU ouvirá em segundo plano. Basta pressionar CTRL + A> CTRL + D. Não importa se você libera ou não a tecla CTRL enquanto faz isso.

Você verá algo equivalente a esta saída:

Sair de uma sessão de tela GNU

Isso também nos diz que nós apenas desconectamos da sessão de tela virtual GNU; não acabou e, se nós quisermos, podemos nos conectar a ela novamente. Mesmo que por algum motivo a sessão principal / pai teria fechado, a sessão de tela virtual não teria terminado e podemos nos reconectar a ela.

Para se reconectar à sessão, podemos emitir um comando simples:

Reconecte-se a uma sessão de tela GNU

A confirmação deste comando simplesmente nos levará de volta à sessão de tela virtual que estávamos executando. Observe que usamos o id de procedimento relevante (conforme relatado quando nos separamos da sessão de tela) para se reconectar à sessão de tela virtual. Isso esclarece imediatamente como podemos iniciar um número indefinido de sessões de tela (mesmo que cada um consuma uma certa quantidade de recursos) e conecte-se ao que queremos usando o screen -d -r comando.

Podemos ler mais sobre as alternativas que usamos para este comando no manual online da tela:

Opções de esclarecimento manual da tela r e d

Para uma visão geral mais ampla da tela e suas muitas funcionalidades, você pode usar o man screen comando:

Manual GNU Screen Linux

Se quisermos ver uma lista de sessões de tela que estão sendo executadas na máquina no momento, nós podemos emitir um screen -list comando:

Lista de Telas GNU

Observe como a sessão é relatada como 'Separada’ o 'anexado’ dependendo se você ainda está conectado a ela em algum lugar ou não.

As vezes, você pode querer rolar para trás em uma sessão de tela, como um exemplo, quando mais linhas de saída foram geradas do que o número de linhas que está habilitado no tamanho da janela do seu terminal. Seria de se esperar que fosse tão fácil quanto usar o mouse para rolar para cima e para baixo, mas não é.

Em seu lugar, você pode usar uma combinação de teclado CTRL + ESC para ativar o modo de cópia (mesmo que uma cópia real não seja feita se você apenas rolar), e agora seu mouse, bem como as teclas padrão do cursor para cima / abaixo vai funcionar corretamente. Quando eu terminar de olhar (e / ou copie se quiser, como um exemplo, com o mouse selecionando e copiando como de costume), basta pressionar a tecla ESC novamente para cancelar o modo de cópia.

As vezes, um programa em execução dentro de uma tela pode travar, como um exemplo, devido a erro do programa ou falta de memória ou situação de disco. Se isso acontecer, a tela mostrará como 'Morto’ no screen -list Produção:

Uma sessão falhada da tela GNU

Em tal ponto, podemos remover a sessão de tela morta emitindo um screen -wipe comando:

Uma sessão de tela GNU excluída

Neste post, exploramos como instalar o utilitário de exibição GNU, como iniciar uma nova sessão de tela virtual usando-o e como desconectar e voltar a uma sessão de tela existente. Em conclusão, veremos como navegar nas sessões de tela, bem como como lidar com sessões de tela morta.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.