O comando Screen é um comando muito comum usado no Linux para lançar e organizar múltiplos terminais dentro de uma única shell.
Tela é a maior parte do tempo utilizada para dois propósitos.
Pode ser utilizada para organizar múltiplas shells e navegar facilmente entre elas.
Pode também ser utilizada para ter comandos de longa duração em servidores remotos.
De facto, o ecrã é lançado para assegurar que não se perde nenhum trabalho distante em caso de uma súbita interrupção da rede.
Neste tutorial, vamos ter uma visão completa do que é o comando do ecrã no Linux e como pode ser utilizado eficazmente.
Ready?
Table of Contents
Prerequisites
Para instalar novos pacotes, terá de ser um utilizador sudo.
Se precisar de adicionar um utilizador aos sudoers em Debian, existe um tutorial para isso.
Existe também um para distribuições baseadas em Red Hat.
Quando estiver pronto, digite este comando para se certificar de que tem direitos de sudo.
$ sudo -lUser user may run the following commands on localhost: (ALL) ALL
Installing Screen on Linux
Para instalar o ecrã, terá de executar um dos seguintes comandos.
Em distribuições baseadas em Debian, poderá executar
$ sudo apt-get install screen
Para distribuições baseadas em Red Hat, terá de executar
$ sudo yum install -y screen
Quando terminar, poderá executar este comando de modo a verificar a sua versão actual do ecrã.
Interagindo com o ecrã no Linux
Como descrito anteriormente, o ecrã é utilizado para iniciar uma shell interactiva onde pode rearranjar múltiplas shells nele.
Para iniciar o seu primeiro ecrã, basta digitar o seguinte comando.
Como pode ver, não há diferenças com a sua shell anterior, excepto pelo facto de o cabeçalho escrever
screen 0: :~
A partir daí, significa que um intérprete bash é executado dentro de outro intérprete bash através do utilitário de ecrã.
Para executar um comando, basta escrever um comando como normalmente faria.
Obter ajuda com o comando screen
Ao interagir com o comando screen, terá de executar atalhos no seu teclado para executar acções dentro da sessão screen.
Por defeito, as teclas “Ctrl + A” são concebidas para interagir com o ecrã.
Como exemplo, digite “Ctrl + A” e depois “?” para obter a ajuda do ecrã.
Como pode ver, há muitas opções diferentes para interagir com o ecrã.
As mais populares são provavelmente as seguintes :
- “Ctrl + A” e depois “d” : modo detach. Pode usar esta opção para se destacar (o que significa voltar à sua concha original) e deixar o ecrã correr em segundo plano. Isto é particularmente útil quando está a executar tarefas longas no seu host.
- “Ctrl + A” depois “x” : serigrafia. Isto é utilizado a fim de proteger a sua sessão do ecrã para ser utilizada por outro utilizador. Como consequência, é definida uma senha para a sua sessão.
- “Ctrl + A” e depois “c” : comando de ecrã. Um dos comandos mais utilizados, de longe, são utilizados para criar uma nova janela dentro da sua instância do ecrã.
- “Ctrl + A” e depois “|” : divisão vertical. Por defeito, este comando irá dividir a sua janela actual em duas áreas diferentes com as quais pode interagir.
- “Ctrl + A” e depois “S” : divisão horizontal.
- “Ctrl + A” depois “n” : usado para navegar entre as suas diferentes sessões de janela desde a que tem o índice mais baixo até à que tem o índice maior.
- “Ctrl + A” depois “Tab” : usado para mover o seu cursor de entrada para uma das suas diferentes áreas dentro do ecrã.
Na maioria dos casos, estes são os comandos que vai utilizar com o comando screen.
Dividir regiões com o comando screen
Como exemplo, vamos criar o seguinte esquema com o comando screen no Linux.
Como pode ver, vamos dividir o terminal tanto verticalmente como horizontalmente.
Será utilizada uma janela para executar um comando (como um comando de longa duração, por exemplo).
Será utilizada uma segunda janela para monitorizar o desempenho do sistema utilizando o comando de topo.
Finalmente, outra janela poderá ser usada para editar um ficheiro através do editor nano.
Criação de janela de ecrã
Primeiro, crie uma sessão de ecrã executando o seguinte comando.
A opção -S criará uma sessão nomeada para o seu ambiente de ecrã.
Quando vários administradores estão a trabalhar no mesmo sistema, pode ser uma boa ideia ter sessões nomeadas para distinguir as suas sessões das outras.
P>Próximo, como vai manipular três sessões shell, vai precisar de dois ecrãs adicionais.
Executar o comando “create” duas vezes (“Ctrl + A” e depois “c”). Deverá terminar com o seguinte ecrã.
Notificar o cabeçalho ou a shell do seu terminal exibindo “ecrã 2” porque três ecrãs estão actualmente activos para a sua sessão.
Dividir as janelas do ecrã vertical e horizontalmente
O próximo passo será criar as suas diferentes regiões na sua janela actual.
Para o conseguir, primeiro divida a sua região actual verticalmente pressionando “Ctrl +A” e depois “|”
Deverá terminar com o seguinte resultado.
Next, divida a sua disposição horizontalmente premindo “Ctrl +A” e depois “S”.
Isto é o que deve obter.
Navigate para a sua segunda região, premindo “Ctrl +A” e depois “Tab”. Por defeito, a sua região deve estar vazia, pelo que pode premir “Ctrl +A” e depois “n” para navegar para o seu ecrã 0 sessão.
De lá, execute o comando que deseja executar.
Repetir os passos anteriores para executar comandos nas outras regiões.
Lembra-te de que tens de navegar entre as janelas do teu ecrã quando entras numa região dividida pela primeira vez.
Fantástico! Criou a sua sessão de ecrã personalizada completa.
Apagar da sua sessão de ecrã
Para se separar da sua sessão de ecrã, basta premir as seguintes teclas.
$ Ctrl + A then d
Sua sessão do ecrã ainda está a ser executada em segundo plano.
Este é um dos principais aspectos do comando do ecrã.
Pode ser usado para criar para um host remoto via SSH, executar algumas acções, e sair para voltar a elas mais tarde.
Desta forma, não tem de manipular o fundo e o primeiro plano que pode perder ao fechar o seu terminal actual.
Para verificar se a sua sessão do ecrã ainda está a decorrer, executar o seguinte comando
$ pstree | grep -A 2 -E "screen-"
Retaguarda a tua sessão no ecrã
P>Primeiro de todos, pode listar as janelas do seu ecrã executando o seguinte comando.
$ screen -ls
Se nomear a sua sessão do ecrã, pode simplesmente executar o seguinte comando
$ screen -r <session_name>
No exemplo acima, teria de executar este comando para poder voltar à minha sessão.
$ screen -r user-screen
Nota que também pode voltar à sua sessão usando o ID do ecrã à esquerda do comando ls.
$ screen -r 3600
Felizmente, perde todas as suas alterações visuais e terá de voltar a dividir as suas janelas.
No entanto, com prática suficiente, poderá aprender muito facilmente sobre os atalhos.
Travar a sua sessão no ecrã
Por vezes, poderá querer impedir outros utilizadores de interagir com a sua sessão no ecrã.
Para bloquear o seu ecrã, carregue em “Ctrl + A” depois em “x”.
Para desbloqueá-la, tem de introduzir a palavra-passe do utilizador proprietário da sessão do ecrã.
Conclusion
No tutorial de hoje, aprendeu como pode facilmente manipular o comando do ecrã no Linux de modo a criar ambientes shell personalizados dentro de uma shell comum.
Aprendeu que pode ser utilizado em servidores remotos de modo a certificar-se de que pode sair da sessão e ainda guardar o seu trabalho (se tiver comandos em primeiro plano há muito tempo, por exemplo).
Se estiver interessado na Administração de Sistemas Linux, temos uma secção completa dedicada a ela no website.