Dicas &Dúvidas
Atalhos de teclado no GTK
Em programas escritos com Gtk, é possível atribuir atalhos de teclado (hot keys, key bindings) para todos os comandos do menu (o menu abaixo da barra de títulos da janela). Basta apontar para o comando do menu e digitar a combinação de teclas desejada (caso não tenha entendido, veja a receita):
1. ativar a barra de menus, clicando uma vez com botão direito do mouse, ou pressionando a tecla Alt + qualquer letra sublinhada dos menus.
2. utilize as setas do teclado para indicar o comando que será atribuído ao atalho de teclado. Se preferir, poderá usar o mouse, mas é desnecessário pressionar botões do mouse ou
a tecla <Enter>. Deixe o
comando selecionado
(highlight).
3. aqui a mágica acontece, simplesmente digite o atalho de teclado. As teclas Backspace e Delete não funcionam (servem para apagar atalhos). O atalho pode ser um caractere simples, ou combinações como Ctrl + A, Shift+Crtl+F8 ou Crtl+Alt+Enter. Talvez o mais útil seja atribuir *Salvar como* ao C-x C-s (ops!). Os exemplos citados são absurdos e outros melhores devem ser escritos.
Pronto! O seu atalho de teclado já está atribuído ao comando. Observe que estes atalhos só valem enquanto o programa estiver rodando. Quando utilizar o programa novamente, os atalhos padrões serão restaurados. O GIMP permite que as alterações sejam salvas, no arquivo ~/.gimp/menurc.
Cores no console
Por Adilson Rodrigues Bonan - arbonan@yahoo.co)
1. digite (no console):
setterm -store
-foreground green
-background black
Assim você terá um monitor com letras verdes igual aos velhos 286-386 da vida...
2. digite (no console) :
setterm -store -foreground white -background blue
Você terá a melhor combinação de cores para o linux, letra branquinha com fundo azul é o melhor jeito de não cansar a vista...
3. se vc quiser deixar isso automático veja quais são os arquivos de inicialização da sua distribuição e deixe o comando lá...quando você iniciar o sistema ele já pega essa configuração...
Horário de Verão
Por Marcos A. Forquesato guina@ccuec.unicamp.br
O horário de verão foi configurado nas máquinas de produção da Unicamp para automaticamente as 00:00h de 08/10/2000 adiantar 1 hora e às 00:00 de 18/02/2001 atrasar 1 hora. Verifique os exemplos e adapte para sua necessidade.
Procedimento de configuração do horário de verão:
Para FreeBSD:
cd /usr/share/zoneinfo/America/
mv Sao_Paulo Sao_Paulo.old
wget ftp://ftp.unicamp.br/pub/systems/FreeBSD/temp/zoneinfo/Sao_Paulo
ln -s /usr/share/zoneinfo/America/Sao_Paulo
/etc/localtime
Para Solaris:
cd /usr/share/lib/zone info/Brazil/
mv East East.old
wget ftp://ftp.unicamp.br/pub/systems/FreeBSD/temp/zoneinfo/East
Para AIX:
Editar o arquivo /etc/environment e alterar a linha do TZ para :
TZ=BRT3BRST2,M10.2.0
/00:00,M2.3.0/00:00
Syntax :
stdoffset[dst[offset] [,start[/time],end[/time]]
Mm.w.wd/hh:mm
* m - mes ( 1 < m < 12 )
* w - semana ( 7 dias ) do mes a partir do dia 1o. ( 0 < d < 6 )
* wd - dia da semana ( 0 < n < 5 - Domingo e 0 )
* hh:mm - horario
Mais detalhes sobre a variavel TZ do arquivo
environment em:
davinci.man.ac.uk/aix433/files/aixfiles/environment.htm
As informações sobre o horário de verão são do site do Observatório Nacional: pcdsh01.on.br. O fonte do zoneinfo está em:
ftp://ftp.unicamp.br/pub/systems/FreeBSD/temp/zoneinfo/southamerica
Nele vem as regras e os timezones para toda a América do Sul, e entre elas, o América/São Paulo alterado. Para compilá-lo basta executar o comando:
zic -d . southamerica
Assim os zonefiles serão criados sob o diretório corrente.
E-mail com anexo
Para mandar um e-mail com anexo utilizando o comando mail do bash, use a dupla uuencode/uudecode.
Para enviar, experimente:
$ uuenconde file.ext file.ext | mail -s subject user@domain
E quando receber salve a mensagem em disco e utilize o comando uudecode. Por exemplo, se o arquivo da mensagem chama-se exemplo_01:
$ uudecode exemplo_01
Máscara de permissões
Jonas de Araújo Luz Junior - jonasluz@matrix.com.br
O comando umask estabelece as permissões iniciais de um arquivo recém-criado. Sua sintaxe é:
umask [<mascara>]
Pelo que pude pesquisar, as novas permissões serão determinadas pelo resultado de 666 ^ <mascara>, onde o sinal ^ representa a operação de "ou exclusivo" (xor). Entretanto, a permissão de execução parece não obedecer à regra.
Se o parâmetro <mascara> não for fornecido, o comando retornará o valor atual, comumente igual a 022. Daí, a máscara padrão é 666 ^ 022 = 644, ou seja: rw-rr.
Em resumo:
Algarismo 0 para acesso completo (leitura e escrita);
Algarismo 2 para acesso somente leitura;
Algarismo 6 para nenhum acesso.
Lembre-se que as permissões são na ordem dono-grupo-outros.
Notas para sistema Conectiva Linux, configurado com shell bash:
1. Para configurar o sistema de forma geral, insira o comando umask no final do arquivo /etc/rc.d/rc.local.
2. Para configurar a máscara para um usuário específico, coloque o comando no final do arquivo .bash_profile, localizado em /home/<usuario>.
Bloqueando Linux Single
Leandro Martelli martelli@magnux.com.br
Em dica anterior (RdL 07, página 64) mostramos como iniciar o Linux em modo monousuário
(runlevel 1) para trocar a senha de root. Ora, dependendo do sistema e da situação, isso é uma falha de segurança muito grande. Para forçar o bash a solicitar a senha de root antes de mostrar o prompt, adicione uma destas linhas no inicio do arquivo /etc/inittab
bl:S:respawn:/sbin/sulogin
ou
~~:S:wait:/sbin/sulogin
ou
su:S:wait:/sbin/sulogin
Pelo LILO, você pode colocar uma restrição maior ao single, adicionando as seguintes linhas no arquivo lilo.conf:
restricted
password=<blah...blah>
Toda vez que for digitado single ele pedirá a senha do password e com a opção do inittab a senha do root. Assim temos duas senhas (redundância) para entrar em modo linux single. Não esqueça de rodar o comando lilo na linha de comando logo após alterar o lilo.conf, para que as alterações sejam gravadas.
Pipes em bash
Rodrigo Bernardo Pimentel rbp@sp.conectiva.com.br
As ferramentas de Unix surgiram com o conceito de "seja simples, faça bem o que tem a fazer, converse com outras aplicações". Parte dessa última premissa é realizada com o uso de
pipes, que conectam a saída de uma programa à entrada de outro. Ou seja, funcionam como um "tubo" mesmo.
Por exemplo: o comando cat joga na saída padrão o conteúdo de um arquivo.
O comando cut mostra só uma parte especificada do texto que lhe é passado como entrada padrão.
Assim, para conseguirmos uma lista de usuários do sistema, podemos fazer:
$ cat /etc/passwd | cut -d : -f 1
O comando cat /etc/passwd jogaria na tela todas as linhas do arquivo /etc/passwd.
O comando cut -d : -f 1 divide cada linha da entrada utilizando o ":" (dois pontos) como separador e pega o primeiro campo (com "-d :" e "-f 1" respectivamente).
Assim, em uma linha do
/etc/passwd normal, os campos seriam
rbp:x:500:500:Rodrigo Bernardo Pimentel:/home
/rbp:/bin/bash
Ou seja, o primeiro campo é o login.
Assim, o pipe usa a saída do primeiro comando para fornecer uma entrada para o segundo, e o resultado é
o campo de login de cada linha do /etc/passwd.
Outro exemplo, envolvendo mais pipes (ou seja, você pode usar mais de um pipe de uma vez):
w | grep ^rbp | wc -l
7
$
O comando w lista os usuários conectados na máquina. O comando grep ^rbp pega essa lista e mostra só as que começem com "rbp " (sem as aspas, observe o espaço depois de rbp, para não pegarmos substrings como rbpsdgf). Finalmente, o comando
wc -l conta essas linhas. Assim, sei que, no momento, o usuário rbp tem 7
shells abertos na máquina dia fraco... ;) .
Teclas Windows
Augusto Campos - brain@matrix.com.br
Se o seu teclado não é antigo, é muito provável que ele tenha duas teclas Windows e uma tecla Popup - são teclas com símbolos que normalmente ficam posicionadas na mesma linha que a barra de espaços. Estas teclas têm funções bem definidas em ambientes Windows, mas normalmente no Linux elas ficam
desativadas.
Se você ocasionalmente faz programas ou scripts, e tem um teclado com suporte a acentuação em português, já deve ter parado para pensar como é chato ter de apertar duas vezes as teclas dos acentos sempre que você precisa inserir um apóstrofo ou aspas. Não é verdade?
Então que tal usar as teclas Windows e Popup como substitutos para as aspas? É um procedimento bastante simples, e as demais teclas continuam funcionando normalmente (inclusive a acentuação!).
Crie ou abra o arquivo
~/.xmodmap e acrescente as seguintes linhas:
keycode 115=apostroph
keycode 116=quotedbl
keycode 117=grave
Basta rodar o comando xmodmap ~/.xmodmap e as suas teclas do Windows terão virado eficientes apóstrofes, aspas e crases.
Você vai ter que repetir o xmodmap ~/.xmodmap sempre que entrar no X, portanto o ideal é incluir este comando no início de um dos seus arquivos de inicialização do X, como por exemplo o
~/.xinitrc