Através da interface gráfica é possível, livremente, abrir mais de um terminal ou mais de uma aba no terminal. Mas quem necessita trabalhar diretamente ambientes sem recursos gráficos, vai precisar utilizar ferramentas que auxiliem a administração de múltiplas janelas virtuais dentro de um único terminal Linux. Sendo assim, é necessário conhecer a principal ferramenta para esse fim; o screen. Caso já conheça essa ferramenta, continue lendo para encontrar alguns exemplos de uso que irão aumentar sua produtividade.
Se você faz uso rotineiro do terminal, provavelmente essa ferramenta irá ser uma “mão na roda” para você 😉
INSTALANDO E USANDO O SCREEN
O Screen é um multiplexador de terminais que permite ao usuário, em uma mesma sessão, abrir várias janelas e realizar atividades paralelas.
Ou seja, as janelas que ele cria estão dentro de uma mesma sessão e isso é muito útil. Por exemplo, numa única sessão remota via SSH, várias sessões virtuais poderam ser iniciadas em conjunto.
Caso não esteja disponível em seu sistema Linux, a ferramenta screen poderá ser instalada através do comando:
Para Debian e derivados:
Para RedHat e derivados:
EXEMPLO 1 – Realizar tarefa em segundo plano
Supondo que precise realizar um download via wget e não pode esperá-lo concluir para fazer outra tarefa; ou queira evitar que esse download seja interrompido por algum motivo (falha na conexão SSH, por exemplo). Sendo assim, abra uma sessão utilizando o comando abaixo:
Posteriormente, inicie o download do arquivo em questão:
--2012-10-02 12:46:57-- http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso Resolving mirrors.hns.net.in... 111.91.91.34, 2401:4800::111:91:91:34 Connecting to mirrors.hns.net.in|111.91.91.34|:80... connected. HTTP request sent, awaiting response... 206 Partial Content Length: 1761607680 (1.6G), 1758132697 (1.6G) remaining [application/octet-stream] Saving to: CentOS-6.3-x86_64-LiveDVD.iso 51% [================================================= ] 3,877,262 47.0K/s 10h 27m
Enquanto o download é feito, você deve pressionar as teclas CTRL+A+D. Essa combinação de teclas fará com que essa sessão virtual seja “separada” (detached) da sessão original; liberando por consequência o terminal para realização de outra tarefa:
[detached from 13223.pts-0.lmde-201403] ricardo@lmde-201403 ~ $
Assim, para listar as sessões abertas execute o comando:
There is a screen on: 13571.pts-0.lmde-201403 (29-04-2014 00:56:40) (Detached) 1 Socket in /var/run/screen/S-ricardo.
Diante dessa situação, caso sua conexão SSH (acesso remoto) falhe ou haja alguma interrupção na conexão da console Linux; basta você reconectar e executar o comando anterior (screen -ls) para ter uma visão de quantas sessões estão criadas.
Por fim, depois de “separar” (detach) a janela (screen); você desejará restaurar a sessão para saber se seu download está concluído. Para essa operação, execute o comando:
E para retornar ao terminal “real” execute exit.
EXEMPLO 2 – Múltiplas telas (screens)
Caso você queira utilizar múltiplas telas simultaneamente, você precisará utilizar algumas combinações de teclas:
Após ter iniciado a sessão com o comando screen; execute as seguintes combinações de telcas:
- Ctrl+A+c – criar nova janela
- Ctrl+A+n – mudar de tela (avançar)
- Ctrl+A+p – mudar de tela (retornar)