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