Existe uma situação para o Analista de Infraestrutura de servidores linux (modo CLI) em que ele precisa executar vários programas paralelamente de uma forma que necessite alternar entre esses programas sempre que quiser. Para isso é necessário abrir outra conexão SSH ou outra janela de terminal.
O screen veio para acabar com essa pouca vergonha. Ele é um gerenciador de janelas que pode ajudar muito para deixar aplicações rodando como se estivéssemos utilizando o comando nohup. Utilizando o Screen é possível iniciar várias sessões e alternar entre elas de modo que você tem um controle total sobre todas essas sessões que você criou. Um exemplo, é quando você está realizando uma atualização de software ou download muito grande, e tem que esperar esse download terminar para continuar trabalhando. Com o screen você pode criar uma janela só para esse download, desanexá-la do seu terminal e voltar a trabalhar normalmente , depois você pode anexá-la ao terminal e verificar se o download terminou ou não, tudo isso utilizando apenas um terminal.
Antes de tudo precisamos instalar o pacote Screen no linux com o comando
sudo apt-get install screen
Depois disso basta utilizarmos seus principais comandos:
screen – cria uma nova janela e entra nela.
screen -ls – Lista todas as sessões abertas assim como o comando LS do linux.
There are screens on: 7169.pts-0.instadroid (01/12/2019 02:42:15 PM) (Detached) 7062.pts-0.instadroid (01/12/2019 02:38:19 PM) (Detached) 2 Sockets in /run/screen/S-pandadevgames.
screen -r id_da_janela – Alterna para retornar para uma janela aberta.
screen -r 7169.pts-0.instadroid
screen -x – Retorna para a ultima janela aberta
Alguns atalhos também podem ajudar:
Ctrl-a c | Cria uma nova janela |
Ctrl-a k | Encerra (kill) a janela atual |
Ctrl-a w | Lista todas as janelas (a janela atual é marcada com “*”) |
Ctrl-a 0-9 | Vai para uma janela numerada de 0-9 |
Ctrl-a n | Vai para a próxima janela |
Ctrl-a Ctrl-a | Alterna entre a janela atual e a anterior |
Ctrl-a [ | Inicia o modo de cópia |
Ctrl-a ] | Cola texto copiado |
Ctrl-a ? | Help (mostra todos os comandos) |
Ctrl-a Ctrl-\ | Fecha o aplicativo screen |
Ctrl-a D (Shift-d) | Sai da Janela e desloga |
Ctrl-a d | Sai da janela mas mantém o shell rodando. |