Revista Do Linux
EDIÇÃO DO MÊS
 Hardware
 Comandos Avançados
 Tecnologia

 Capa
 Entrevista
 CD
 Corporativo
 Sistema
 Evento
 Segurança
 Internet
 Programação

 

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-r–r–.

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


A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux