coluna do aurélio 08
screen (janelizando o modo texto - parte 2)
http://aurelio.net/doc/coluna

olás. já estão apertando ^a até no celular? ainda não? bem, então hoje eu vou mostrar porque sua vida será mais feliz com o screen.

comecemos com o simples e útil: monitoramento. quer ser informado quando algum usuário entrou na sua máquina, ou quando acabou aquele comando demorado? o comando de monitoramento emite um aviso quando qualquer coisa muda na janela, como linhas ou caracteres novos. na janela do comando em questão ^a :monitor on. comandos candidatos a monitoramento são: tail -f, tar czf, comando > arquivo ou qualquer outro comando que não produza saída na tela por algum tempo e que quando é finalizado simplesmente retorna à linha de comando.

o inverso também é possível: monitorar o silêncio. o comando para tal é o ^a :silence 10, sendo 10 o número de segundos de monitoração. se durante esse tempo nada mudar na tela, um aviso será emitido na sua barra de tarefas. ótimo para detectar falhas em programas que não podem parar.

de longe minha funcionalidade preferida é a de copiar e colar textos entre janelas sem precisar do mouse. como é mesmo um mouse? &:) o screen lhe permite selecionar visualmente um texto utilizando apenas o teclado. numa primeira tentativa pode parecer complicado, mas é simples. pra variar, começa com ^a. veja no seu teclado, as teclas [ e ]. viu? olhe de novo, fixamente, como quem acaba de conhecer um amigo novo e se entenda com elas, pois você passará a utilizá-las muito, serão inseparáveis. bem, talvez nem tanto, mas use, tente e seja mais um feliz usuário do screen que jogou seu mouse pela janela e nunca mais sofreu de dores no pulso. sua saúde agradece.

espero que toda essa propaganda lhe faça "ver a luz", o nirvana do teclado, retomando seu reinado roubado pelo mouse famigerado. acompanhe: temos o colchete que abre e o que fecha, um copia e o outro cola. só isso. então, numa janela do screen digite ^a [ para entrar no modo de cópia ("copy mode") e com as setas do teclado, vá com o cursor até o início do trecho a ser copiado. agora para marcar que ali é o começo da seleção, simplesmente aperte a barra de espaços e veja a seleção visual começar. novamente com as setas direcione o cursor até o fim do trecho desejado e vá vendo o texto ficando marcado. marcou tudo o que queria? novamente aperte a barra de espaços para informar que a seleção acabou. pronto, o trecho foi copiado e o screen voltou para seu estado normal. opcionalmente você pode usar a tecla ENTER ao invés da barra de espaços.

para colar o trecho copiado, seja na linha de comando, no navegador ou no seu editor de textos preferido, simplesmente aperte ^a ]. essa cópia e colagem é independente de aplicação, você pode selecionar qualquer trecho da tela, seja texto, seja um menu ou a tela inteira. e nesse intervalo entre copiar o trecho e colá-lo, você pode trocar de janela normalmente, executar outros comandos, até esquecer que tinha copiado algo, e quando apertar ^a ], lá estará seu texto, intocado.

recapitulando: para copiar, ^a [, move cursor, espaço, move cursor, espaço e para colar basta o ^a ].

para alegria dos usuários de vi, quando se está no modo de cópia vários atalhos conhecidos de movimentação funcionam, como: 0, $, w, G e g, bem como os comandos de pesquisa / e ?. isso mesmo! você pode procurar por palavras na tela estando no modo de cópia. então se numa listagem grande de nomes que está na tela, seja num programa de cadastro, no navegador ou foi a saída de um programa, você quer encontrar seu nome, basta digitar ^a [ ? seu_nome. matador.

outra funcionalidade muito útil é o bipe visual. quando você está com muitos aplicativos abertos, por exemplo um leitor de e-mail, um de ICQ e outro de IRC e de repente sua máquina bipa, qual será o programa que o gerou? será um e-mail novo, ou uma mensagem privada no IRC? ou ainda, você está se batendo no vi e ele não pára de apitar e mostrar para todos em volta que você está errando? ^a :vbell on é a solução. ao invés do bipe, sua tela irá dar uma piscada discreta, e caso o bipe veio de uma outra janela, você será avisado em sua barra de tarefas que a janela "nome-da-janela" está bipando. eu sei, "bipar" é feio. mas "clicar" também é...

você também pode criar seus próprios "atalhos" para disparar programas ou comandos rotineiros. atalhos são coisas que os "ícones" substituíram na interface gráfica, pois são mais "fáceis"... um atalho bem útil é um que abra uma janela nova com seu navegador preferido, já mostrando seus endereços preferidos (os marcadores, ou "bookmarks"). um comando como ^a :bind L screen -t www lynx -book mapeia a tecla L para abrir uma janela nomeada "www" e executar nela o lynx. então você está em qualquer janela, fazendo o que quer que seja e precisou acessar uma página da internet? ^a L. viu a página e não quer mais navegar? basta sair do lynx e a janela será fechada automaticamente. fácil assim.

ainda tem mais! não é um saco ter que ficar toda hora preenchendo seu nome e email em programas, formulários online, cadastros, registros, etc? o screen também resolve este problema, pois você pode mapear uma tecla para "cuspir" um texto na tela. captou?

por exemplo, com o ^a :bind N stuff "aurélio marinho jargas", quando preciso preencher meu nome, simplesmente faço ^a N. e ainda, o conteúdo desse comando stuff pode ser uma variável de ambiente do shell, então se você já tem uma variável $EMAIL, mapeie o E para "cuspir" seu conteúdo: ^a :bind E stuff $EMAIL. só cuidado na hora de escolher as teclas que farão estes atalhos para não pegar uma letra que é algum comando do screen que você utilize com o c por exemplo. letras maiúsculas são uma boa dica.

como o screen tem muitos comandos e configurações, você pode colocar suas preferências num arquivo no seu "home", o ~/.screenrc. todos os comandos que vimos que começam com : podem ser colocados neste arquivo, e serão sempre carregados, não precisando ficar os digitando toda vez que entra no screen. o que é sempre a melhor escolha para começar um arquivo de configuração é pegar um pronto e modificá-lo para suas necessidades. o meu está disponível e comentado para facilitar o entendimento: http://aurelio.net/doc/doc/dotfiles/screenrc.txt. baixe-o e copie para ~/.screenrc.

e vamos terminar falando mal, pois nenhum programa é perfeito. então os maiores incovenientes do screen, que nem de longe atrapalham seu uso em face de todas as vantagens que ele lhe oferece, são: a função de travar as janelas (^a x) às vezes se perde e bagunça o terminal, o Shift+PageUp para ver as telas que passaram não funciona com a barra de tarefas permanente (:hardstatus alwayslastline) e alguns programas se perdem com o tipo do terminal usado (TERM=screen). as soluções para estes probleminhas são, respectivamente: comando reset para arrumar o terminal, não usar a barra de tarefas permanente se quiser histórico e export TERM=linux se um programa não gostar do terminal.

e para pensar na cama: "por quê você precisa do CAPS LOCK?".

a tecla CAPS LOCK atrapalha estando ao lado da tecla a, que é nossa tecla chave do screen. esbarrar nela sem querer ao pressionar o ^a é normal, e chato. mas pense bem. você usa o CAPS LOCK? ESCREVER EM MAIÚSCULAS é um hábito repugnante e geralmente são tão poucas as vezes que se precisa escrever uma palavra inteira ou mais em maiúsculas que ficar segurando o Shift com o mindinho é mais rápido que ligar e desligar o CAPS LOCK. e se precisar escrever um texto em maiúsculas, qualquer editor de texto decente tem a função de "capitalizar" um texto selecionado. isso fora o inconveniente de ligar a tecla sem perceber e digitar trechos ou executar comandos em maiúsculas sem querer. bem, concluindo eu aconselho a remoção física do CAPS LOCK do seu teclado. basta puxá-la para cima, arrancando-a e tapar o buraco com um durex. eu já fiz isso há mais de um ano e minha vida ficou mais feliz &:)



--
este texto pode ser copiado livremente na íntegra ou em parte, desde que
indicado o endereço do original: http://aurelio.net/doc/coluna

voltar para a página principal das colunas