Screen: vários terminais em um só
Ae vai uma dica para aqueles que são realmente geek’s! Conheci há algum tempo atrás um comando chamado screen. É um programa muito bom e leve. Este comando permite que se abra vários terminais em um só. Inicialmente, executando o comando screen a partir de qualquer terminal irá simplesmente limpar a tela. Mas, na verdade, ele iniciou o screen e abriu uma aba para o shell. Vamos começar a brincar nele. =)
Primeiro, pressione Ctrl+a e, em seguida, pressine “:” (sem as aspas, claro). O cursor ficará na última linha com um “:” ao lado, esperando que tu envie um comando para o screen (semelhante o vim). Vamos escrever a seguinte linha:
hardstatus alwayslastline “%c %w”
Isso fará com que o screen adicione uma barra de status na última linha do terminal com um relógio e uma lista de terminais abertos.
Quase todos os atalhos de teclado do screen começam com Ctrl+a, seguido por alguma outra coisa. Uma lista de atalhos úteis:
Ctrl+a c Abre um novo terminal.
Ctrl+a Backspace Vai para o terminal anterior.
Ctrl+a Space Vai para o próximo terminal.
Ctrl+a p O mesmo que Ctrl+a Backspace.
Ctrl+a n O mesmo que Ctrl+a Space.
Existem muitos outros comandos. Por exemplo, tu podes “detach” o teu screen inteiro, voltando para o terminal normal, sem precisar fechar o screen. Caso precise recuperar/voltar para os terminais que tu estavas utilizando nele, existe o argumento -ls do comando screen:
$ screen -ls
There is a screen on:
5387.pts-0.dreamer (Detached)
Essa opção faz o comando screen listar todas as screens abertas. Para voltar a alguma screen, execute:
$screen -r “algum número”
Por exemplo, para eu recuperar a screen que eu estava utilizando, devo executar:
$screen -r 5387
Assim, eu volto para a screen que eu estava utilizando, com todos os terminais que eu abri nele.
Ainda existem muitas outras coisas que se pode fazer num screen. Tantas que não caberia apenas aqui. Pode-se criar um arquivo de configuração no home e deixar ou seu screen completamente personalizado! Para isto, edite o arquivo .screenrc
$ vim .screenrc
Experimente adicionar o comando do screen que eu citei antes aqui (hardstatus alwayslastline “%c %w”) e tentar abrir novamente ele para ver o que acontece. Seu screen abre uma linha de status na última linha do terminal por padrão!
Caso queira saber mais sobre o screen, execute:
$ man screen
E dê uma boa olhada no manual. É grande, para uma referência rápida execute, no screen Ctrl+a :, digite help e aperte <enter>. Irá aparecer uma lista de atalhos de teclado para tu te divertir!
Obs.: Na lista de comandos, Ctrl é escrito como ^.
Oh, valeu
É sempre bom encontrar informações como essas. Vai ajudar muitos