Dicas
A idéia desta seção é mostrar alguns truques úteis, porém pequenos demais para terem um artigo inteiro só para eles. Como eu fui escrevendo estas dicas a partir dos meus problemas (e eu uso Slackware), fica meio difícil saber o que acontece nas outras distros. Elas devem funcionar, mas nunca é certeza... apenas espero que o seu computador não pegue fogo, e se pegar a culpa não é minha!
Para ver as dicas publicadas na Revista do Linux, clique
aqui
[ Truques ]
[ X11 ]
[ Redes ]
[ Sistema ]
[ Impressão ]
[ Aplicações ]
Truques de Linha de Comando
X11
Redes
Sistema
Impressão
Aplicações
|
Como faço para o vim ficar colorido?
|
Esta é fácil, copie para o seu $HOME o arquivo .vimrc que vem como exemplo. Ele irá ler dúzias de configurações para você e habilitar o "syntax highlighting". Use o seguinte comando:
# cp /usr/doc/vim*/doc/vimrc_example.vim ~/.vimrc
|
Forçando as Aplicações a criarem um ícone no WindowMaker.
|
Alguns programas quando executados não apresentam o ícone para que possamos docka-los ou clipá-los, este é o caso do XV. Para resolver este problema, siga os seguintes passos:
- Clique com o botão direito na barra de título do programa;
- Selecione o item Attributes;
- Na caixa superior, selecione Advanced Options;
- Selecione a caixa: Emulate application icon;
- Apply e depois Save;
- Pode fechar esta caixa de diálogos clicando no X.
Já deve ter aparecido o ícone da aplicação no cantinho da tela, agora é só dockar ela normalmente -;)
|
Aplicações texto coloridas no rxvt
|
Quando abrimos um xterm (ou seus derivados) no Slackware, todas as cores bonitas dos aplicativos desaparecem. O motivo é simples: Slackware deixa como default todos os xterms como sendo em "preto e branco".
Este problema pode ser resolvido colocando estas linhas no .bash_profile:
if [ "$TERM" = "xterm" ]; then
export TERM="xterm-color"
fi
Elas verificam se você está dentro de um xterm, se estiver, alteram a variável TERM para xterm-color e você tem todas as suas cores de volta -;) Infelizmente, não consigo fazer isso funcionar no xterm, mas funciona no aterm e no rxvt. Quem souber qual é o problema, por favor me avise.
Olhando na internet, encontrei uma solução para o problema do xterm... ao invés de colocar xterm-color, coloque xterm-xfree86. O único efeito colateral que percebi foi que o elvis parou de funcionar, como eu uso o vim, não fez tanta falta. Aliás, como eu geralmente uso o rxvt ou o aterm, acaba não me fazendo diferença nenhuma.
|
Fazendo os terminais gráficos lerem sempre os scripts de login
|
Este é para quem implantou a solução passada ou tem muitos aliases e coisas do tipo no .bash_profile. O .bash_profile só é lido em uma "loginSession" e, para fazer isto, precisamos apresentar opções especiais na linha de comando, como por exemplo:
# rxvt -ls
Se você cansou de digitar sempre isso, crie um arquivo .Xdefaults (ou .Xresources) e coloque as seguintes linhas dentro dele:
XTerm*loginShell: True
Rxvt*loginShell: True
Isto funciona com o xterm e seus clones (rxvt, aterm, wterm, etc...), por algum motivo qualquer, o xterm prefere que as definições estejam no .Xdefaults.
|
Imprimindo em modo econômico na HP
|
O método mais fácil de fazer as impressoras da HP funcionarem perfeitamente no Linux é baixando o TurboPrint -:)
Não tem outra, é baixar e instalar. Depois de instalado, você poderá configurar a impressora mesmo sendo usuário normal, podendo definir a qualidade de impressão, as cores, etc...
O programa não é GPL, mas existe uma versão gratuita para baixar no site. Vale muuuuuuuito a pena -:)
|
Botões de Desligar e Rebootar no XDM
|
Muita gente usa o XDM. E muita gente que usa o XDM está cansada de fazer CTRL+ALT+F1 e depois CTRL+ALT+DEL para poder desligar o computador. Procurando por aí, encontrei no site de um francês (que está escrito no idioma de Proudhon) uma dica para resolver o pepino.
No /etc/X11/xdm/Xsetup_0, inclua as seguintes linhas:
/usr/bin/wish << EOF &
wm geometry . -0+0
button .halt -text Halt -fg black -bg gray -command {
exec shutdown -h now
}
button .reboot -text Reboot -fg black -bg gray -command {
exec shutdown -r now
}
pack .reboot .halt -side left
EOF
echo $! > /var/run/xdmbutton.pid
Depois, no /etc/X11/xdm/GiveConsole (no Slackware eh aqui, no artigo original do francês é no Xstartup_0). Coloque estas linhas (mas coloque antes do chown $USER /dev/console)
if test -r /var/run/xdmbutton.pid ; then
kill `cat /var/run/xdmbutton.pid`
fi
Pronto! -:) Agora seus usuários (e você) já podem desligar o computador com um clique apenas... as cores dos botões são alteradas com os parâmetros -bg (background) e -fg (foreground) e a posição naquela linha em que está o -0+0
Você pode conseguir mais informações lendo o artigo Alterando o XDM. E pode conferir aqui um screenshot do XDM da minha máquina. E obrigado a Frédéric Péters por ter escrito estas dicas! -:)
|
Tornando partições ext2 mais seguras
|
Não sei quantos leitores tem contato com os sistemas *BSD. Mas uma coisa interessante que os *BSD tem é o seu sistema de arquivos, caso o sistema caia não haverá perda de dados (ao contrario do que ocorre no Linux)
Isto acontece graças ao fato do sistema de arquivos do BSD ser síncrono, os discos são sincronizados depois de cada operação. Já no Linux eles são sincronizados de tempos em tempos. O sistema usado no Linux é muuuito mais rápido, porém é menos seguro.
O que pouca gente sabe, é que o ext2 também pode ser montado em modo síncrono, para isso basta acrescentar a opção sync no /etc/fstab. Por exemplo:
/dev/hda1 / ext2 defaults,sync 1 1
Tenha em mente que esta alteração pode tornar os acessos a disco mais lentos, em casos extremos pode-se chegar a uma performance 25% inferior nos acessos ao disco (como acontece nos FreeBSD). Com esta alteração vc também não irá evitar o fsck, se sua idéia é evitá-lo, o melhor é ir para o ext3 ou reiserfs.
|
Renomeando vários arquivos de uma vez só
|
Muitas vezes você quer renomear todos os arquivos de uma determinada extensão para outra. Por exemplo, você recebeu vários arquivos .GIF e quer passá-los para .gif, infelizmente não é possivel fazer mv *.GIF *.gif... o quê fazer então?
Fácil! Com o Linux não há problemas, basta fazer:
$ for i in `ls *.GIF`; do mv $i ${i/.GIF/.gif}; done
Achei uma ótima solução. Pena que não foi criada por mim -:(, eu vi ela no canal #debian-br e foi o spuk que escreveu. Eu tinha feito uma usando o comando cut, mas este do spuk é bem mais simples e elegante.
Alguns leitores me mostraram que tanto o meu jeito quanto o do spuk são pura
reinvenção da roda. Existe um comando "rename" que resolve o problema, e é
extremamente poderoso:
# rename .GIF .gif *.gif
Primeiro indicamos o que queremos mudar (.GIF) para o quê queremos mudar (.gif) e quais os arquivos que devem ser alterados (*.gif). Super rápido e eficiente.
|
Fazendo aspas (simples e dupla) no LyX
|
Quem usa o LyX com as configurações default para o brazil e teclado us-acentos configurado para usar dead-keys, sabe que as " ou ' não aparecem de jeito nenhum...
Mas existe um jeito. Não é muito divulgado, mas o Alt da esquerda é diferente do Alt da direita, um é ALT e o outro é ALT Graphic. Para você escrever suas aspas, basta pressionar o ALT da direita e a tecla '. Ou shift + ', para obter as aspas duplas -;)
|
Instalando pacotes do Slackware em outras distros
|
Os pacotes do Slackware não obedecem a nenhum padrão alienígena com bases de dados binárias ou coisa parecida. São tarballs organizados com alguns scripts de instalação. Estas características fazem com que os pacotes possam ser instalados em praticamente qualquer distribuição. Faça isso com a seguinte linha:
# tar -xvzf pacote.tgz -C / ; source /install/doinst.sh ; rm -r /install
Isto funciona com 90% dos pacotes, alguns poucos possuem mais de um script na instalação, e irão carecer de mais cuidado.
|
Fazendo um /tmp na memória
|
Uma das facilidades proporcionadas pelo kernel 2.4, é a possibilidade de montar partições em memória. Não estamos falando da ramdisk, onde voce perde vários megas para cada partição que quer montar; estamos falando de Shared Memory.
Neste novo sistema, a memória é alocada dinâmicamente. Começando do zero, conforme você vai precisandoi, mais memória é alocada. Isso até chegar ao limite que você especificar.
Para fazer uso dessa maravilha, adicione no seu /etc/fstab a seguinte linha:
/dev/shm /tmp tmpfs defaults,size=64m 0 0
Lembre-se, eu estou montando no /tmp, você pode montar em qualquer outra particao que achar conveniente (eu particularmente uso no /tmp e no /var/run). O parâmetro size, estabelece o tamanho máximo que a partição pode possuir (64m significam 64 MB de memória).
|
Implementando o sistema de arquivos ext3
|
Agora está disponível no kernel (sem a necessidade de patches) o sistema de arquivos ext3. Você quer saber quais as vantagens deste sistema, nao é?
Basicamente, você ganha um sistema de arquivos journal, estável, robusto e sem a necessidade de reformatar ou perder as suas partições. Livre do fsck e que, em caso de emergência, pode ser montado como ext2.
Se você já recompilou seu kernel com suporte a ext3, basta executar os seguintes comandos para transformar suas partições para o novo filesystem.
# telinit 1
# tune2fs -j /dev/hdxn
O primeiro comando deixa o sistema em modo monousuário e o segundo transforma suas partições ext2 em ext3 (substitua o "x" e o "n" pela letra e número corretos para as suas partições). Repita o comando tune2fs para todas as suas partições ext2. Depois, edite o fstab e troque onde está ext2 por ext3.
|
Alterando o tamanho das letras no xterm
|
Muitas pessoas acham o tamanho das letras do xterm minúsculas, mas existe um jeito fácil de aumentá-las (ou diminuí-las). Com a tecla Ctrl pressionada, clique com o botão direito do mouse na janela do xterm.
Irá aparecer uma janela com os tamanhos de fonte, agora é só você escolher uma delas e ler tranqüilamente seus textos no tamanho que mais lhe agradar -:).
|
Eliminando as checagens periódicas do ext2/3
|
Quantas vezes você foi ligar o seu computador e foi surpreendido por uma mensagem semelhante a "Filesystem reached maximal count. Check forced". E teve de esperar séculos enquanto o fsck cuidava do seu HD?
O que nem todo mundo sabe, é que é possível desabilitar essa checagem forçada, e diga-se de passagem é muito fácil. Use o comando:
# tune2fs -c 0 -i 0 /dev/hdxn
Onde o x é uma letra e n um número. Com isso você desativa a checagem por número de montagens (-c) e por intervalo de tempo (-i). Para saber mais, man tune2fs.
|
Automatizando a autenticação no iG
|
Esta dica (muito útil), não é de minha autoria, é do Gabriel Barros. Com esse script em Perl, é possível se autenticar automaticamente no iG. Basta substituir onde está NOME_DO_USUARIO pelo seu login no iG e SUA_SENHA pela sua senha.
Pelo script estar escrito em Perl, você precisa ter o Perl instalado para ele funcionar. Digite-o, torne-o executável e depois é só usufruir da comodidade.
#!/usr/bin/perl
# IGanador.pl v1.0
# Script para evitar a aporrinhação da autenticação
# do IG.
# Não pode ser considerado ilegal/imoral pois apenas
# automatiza o processo, e NÃO burla a indentificação
# do usuario.
# Recomendo colocar um link no Cron para rodá-lo hourly
# se for deixar a conexão aberta varios dias.
# comentários para: gabriel.barros@folha.com.br
#
use IO::Socket;
my($sock, $request);
$usuario = "NOME_DO_USUARIO";
$senha = "SUA_SENHA";
$sock = IO::Socket::INET->new(
Proto => 'tcp',
PeerPort => '8000',
PeerAddr => 'auth.ig.com.br',
) || die($!);
$request = "POST /servlets/autentica HTTP/1.1\nAccept: image/gif,
image/x-xbitmap, image/jpeg, image/pjpeg, */*\nReferer:
http://192.168.1.2/\nAccept-Language: pt-br\nContent-Type:
application/x-www-form-urlencoded\nAccept-Encoding: gzip,
deflate\nUser-Agent: Mozilla/4.0 (compatible; MSIE 5.01;
Windows NT 5.0)\nHost: 192.168.1.2\nContent-Length: 71\nConnection:
Keep-Alive\n\naction=login&url=&username=$usuario&password=$senha&x=17&y=7\n\n";
print $sock "$request";
end
Muita atenção na hora de digitar. Tudo o que está entre " na linha $request, é para ser digitado na mesma linha (eu dividi em várias para facilitar a leitura da página). O script, já digitado, pode ser baixado aqui.
|
Mouse para canhotos
|
A grande maioria das pessoas são destras, mas o X não se esquece dos canhotos. De maneira simples, pode-se alterar a configuração do mouse, invertendo os botões. Simplesmente digite:
xmodmap -e "pointer = 3 2 1"
Se gostou das configurações assim, pode colocar no seu .Xmodmap uma linha com:
pointer = 3 2 1
O .xinitrc do Slackware já lê por default o .Xmodmap, em algumas outras distros, pode ser necessário incluir o seguinte comando ao .xinitrc:
xmodmap .Xmodmap
|
Problemas com Athlon/Duron
|
Os processadores Athlon/Duron tem se tornado muito comuns ultimamente. Apesar
de nunca ter tido problemas com o meu, sei o tanto que um bug pode irritar.
Estou listando aqui correções para dois problemas:
1 - Existe uma incompatibilidade entre alguns GARTs (AGP) e a implementação de páginas de memória dos Athlon/Duron. Duas formas de resolver, não usar o AGP (desabilitar o agpgart ou equivalente) ou colocar no seu lilo.conf:
append="mem=nopentium"
2 - Travamentos com uma mensagem semelhante a: "disabling duron serial number". Neste caso, coloque no lilo.conf:
append="x86_serial_nr=0"
|
Emulando um "mouse" no X
|
Esta dica foi um amigo que me revelou. Se você quiser usar o teclado como
sendo um mouse, basta apertar simultâneamente CTRL+SHIFT+NumLock. A partir daí,
o teclado numérico poderá ser utilizado como mouse, de acordo com a tabela:
- 8: Acima
- 4: Esquerda
- 6: Direita
- 2: Abaixo
- -: Seleciona o botão da direita
- *: Seleciona o botão do meio
- /: Seleciona o botão da esquerda
- 5: Emula o clique do botão selecionado
- 0: Clica e segura
- +: Duplo clique
Testei a dica em computadores com o Slackware 8 e com o 8.1-beta2, em ambos
os casos, funcionou. Por algum motivo que desconheço, não funciona direito com alguns teclados... achei que era o modelo (PS/2 ou normal), mas pessoas com teclados de ambos os tipos me avisaram que funciona... não sei o q pode ser...
|
Aplicações na inicialização e na saída do WindowMaker
|
Se você quiser colocar algum aplicativo para iniciar junto com o WindowMaker,
ou para ser executado logo que sair dele, use os arquivos:
~/GNUstep/Library/WindowMaker/autostart
~/GNUstep/Library/WindowMaker/exitscript
|
Descompactando arquivos .tar.bz2
|
Dica que eu retirei da minha seção na RdL. Para descompactar arquivos
.tar.bz2, basta utilizar a opção y. Para quem já está utilizando o
Slackware 8.1-beta2 (como eu), a opção deverá ser j. A linha de
comando fica assim:
$ tar -xvjf arquivo.tar.bz2
|
Compilando o sshd para o Slackware
|
Dica curta, mas que poupa trabalho. Se você for compilar o sshd para o
Slackware, não se esqueça de incluir a seguinte opção (no ./configure):
--with-md5-passwords
|
Copiando usando o tar
|
Para fazer uma cópia total dos seus arquivos, inclusive com as mesmas
permissões, use o comando tar.
$ (cd /origem && tar cf - . ) | (cd /destino && tar xvfp -)
Preste atenção nos parêntesis, eles fazem com que a operação seja executada
em uma subshell, não afetando a shell que vc está usando. A primeira coisa que
o comando faz é ir para o diretório de origem e, se sucedido (&&), cria um
arquivo tar com todo o conteúdo do diretório. Este arquivo é direcionado (|)
para um segundo tar, já no diretório de destino. Simples e engenhoso.
|
Usando o Ctrl+Alt+End para desligar o computador
|
Ctrl+Alt+Del reboota a máquina. Ou então, depois de editar o inittab ele pode
desligar a máquina. Mas... e se quisermos ter um atalho para desligar e outro
para rebootar a máquina?
Sem problemas! Com apenas duas linhas de código podemos resolver tudo. Edite
o seu /etc/inittab e, logo abaixo da linha do ctrlaltdel, inclua esta linha:
kb::kbrequest:/sbin/shutdown -t5 -h now
Depois, coloque esta linha no seu /etc/rc.d/rc.local
echo "control alt keycode 107 = KeyboardSignal" | loadkeys -
Pronto! No próximo boot tudo estará solucionado -;) O Ctrl+Alt+Del irá
rebootar a máquina e o Ctrl+Alt+End irá desligá-la.
|
Colorindo o prompt do BASH
|
A variável de sistema PS1, guarda o formato do prompt. Para deixá-lo colorido, tudo o que você precisa é colocar os códigos de cores no interior da variável, os códigos são:
- 31 - vermelho
- 32 - verde
- 33 - amarelo
- 34 - azul
- 35 - magenta
- 36 - ciano
- 37 - branco
- 38 - cinza
E, para colocá-los no prompt, precisa mandar uma seqüência de ESCape, seguido do formato (bold[1] ou normal[0]) e por último da cor, como neste exemplo:
PS1='\[\e[0;32m\]\u@\h:\w\$ \[\e[0m\]'
Nesta seqüencia, dizemos que o prompt será verde (\[\e[0;32m\]), irá aparecer o nome do usuário (\u) seguido por uma arroba (@), o nome da máquina (\h), um dois pontos (:) o diretório de trabalho em que você está (\w) e por último, um $ (\$) que será substituído por um # se você for o root do sistema.
Irá ficar algo mais ou menos assim:
Maiores detalhes, podem ser vistos examinando o Bash-Prompt-HOWTO.
|
Utilizando LPRng+SMB
|
O novo formato de impressão do Slackware é o LPRng (ao invés do tradicional lpr). Além de alterar a variável "printing" no /etc/samba/smb.conf (de bsd para lprng), são necessárias algumas outras alterações.
Supondo que a sua impressora que está sendo compartilhada via samba se chame "Printer1" (nome original, não acha?), você deverá mudar o dono e as permissões do diretório de spool dela (/var/spool/lpd/Printer1) da seguinte maneira:
chown root.root /var/spool/lpd/Printer1
chmod 1777 /var/spool/lpd/Printer1
E colocar na seção [printers] do seu smb.conf os seguintes comandos para a impressão:
print command = /usr/bin/lpr -U%U@%M -P%p -r %s
lpq command = /usr/bin/lpq -U%U@%M -P%p
lprm command = /usr/bin/lprm -U%U@%M -P%p %j
lppause command = /usr/sbin/lpc -U%U@%M hold %p %j
lpresume command = /usr/sbin/lpc -U%U@%M release %p %j
queuepause command = /usr/sbin/lpc -U%U@%M -P%p stop
queueresume command = /usr/sbin/lpc -U%U@%M -P%p start
|
Limpando o SPOOL de impressão
|
O samba vai deixando todos os arquivos impressos no diretório de spool, uma hora ou outra esse diretório vai ficar lotado e seus usuários não irão mais conseguir imprimir.
Para resolver esse problema, faça um script chamado "cleanspool" com o seguinte conteúdo:
#!/bin/sh
/usr/bin/find /var/spool/lpd/Printer1 -type f -mtime 2 -exec rm -f {} \;
Torne o script executável e coloque-o no diretório /etc/cron.daily, lembre de substituir "Printer1" pelo spool da sua impressora. Este script será executado todo dia e irá remover todos os arquivos com 2 dias de idade que estiverem no seu spool (você pode trocar esse intervalo, alterando a variável o parâmetro mtime).
|
Configurando a rodinha do mouse
|
Ok, você comprou um daqueles mouses com rodinha e agora não sabe como colocar ele para funcionar. Sem problemas (aliás, o que é problema para o Linux?) é só editar o /etc/X11/XF86Config e colocar (na seção "InputDevice"):
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/mouse"
Option "ZAxisMapping" "4 5"
Option "Buttons" "5"
EndSection
O IMPS/2 funciona para a maioria dos mouses USB e PS/2; no caso do seu mouse ser serial, substitua o Protocol de IMPS/2 para IntelliMouse. E, mesmo mouses com conexão PS2 podem possuir outro protocolo, algumas
sugestões são: ExplorerPS/2, NetMousePS/2, NetScrollPS/2, etc...
|
Acentuando no OpenOffice
|
O OpenOffice, por algum motivo desconhecido qualquer, só aceita acentuar
em português quando a variável LC_ALL está setada para pt_BR. Se você não
liga de ficar com todas as mensages de erro em português, é só editar o
/etc/profile e trocar onde esta LC_ALL=POSIX por LC_ALL=pt_BR.
Se você é como eu, e acha esse negócio de mensagens do sistema em português
uma das coisas mais irritantes deste mundo, existe uma solução, basta colocar
LC_ALL=pt_BR antes de chamar algum aplicativo do OpenOffice. Por exemplo:
# LC_ALL=pt_BR /opt/openoffice/program/swriter
Uma boa opção é criar um openoffice.sh e colocar dentro do /etc/profile.d,
para ser executado a cada login, com apelidos para todos os programas do
OpenOffice, como este:
#!/bin/sh
alias sagenda="LC_ALL=pt_BR /opt/openoffice/program/sagenda"
alias scalc="LC_ALL=pt_BR /opt/openoffice/program/scalc"
alias sdraw="LC_ALL=pt_BR /opt/openoffice/program/sdraw"
alias sfax="LC_ALL=pt_BR /opt/openoffice/program/sfax"
alias simpress="LC_ALL=pt_BR /opt/openoffice/program/simpress"
alias slabel="LC_ALL=pt_BR /opt/openoffice/program/slabel"
alias sletter="LC_ALL=pt_BR /opt/openoffice/program/sletter"
alias smaster="LC_ALL=pt_BR /opt/openoffice/program/smaster"
alias smath="LC_ALL=pt_BR /opt/openoffice/program/smath"
alias smemo="LC_ALL=pt_BR /opt/openoffice/program/smemo"
alias soffice="LC_ALL=pt_BR /opt/openoffice/program/soffice"
alias svcard="LC_ALL=pt_BR /opt/openoffice/program/svcard"
alias sweb="LC_ALL=pt_BR /opt/openoffice/program/sweb"
alias swriter="LC_ALL=pt_BR /opt/openoffice/program/swriter"
Com isso, seus aplicativos sempre irão acentuar e suas mensagens de erro
continuarão normais. Se você está com o pacote portuguese a partir da versão 2.2, este problema já foi corrigido e não
precisa fazer absolutamente nada de novo.
|
Compilando o kernel no Slackware 8.1 e 9.0
|
Quando digitamos "make install" depois do kernel compilado, ele se instala
automaticamente no /. Até o Slackware 8.0 isso não era problema nenhum. No
Slackware 8.1, isso mudou: ao invés de ficar no /, o kernel agora fica no
/boot. E quando digitamos "make install" as coisas não funcionam tão bem.
Mas, mesmo para isso existe uma solução, antes de digitar "make install",
utilize o seguinte comando:
# export INSTALL_PATH=/boot
ou, se preferir, descomente a seguinte linha no no seu /usr/src/linux/Makefile
#export INSTALL_PATH=/boot
Vamos lembrar que para descomentar a linha, basta remover o # da frente. Com isso, tudo estará solucionado sem maiores problemas.
|
Senhas Aleatórias
|
Não é novidade para ninguém a incapacidade dos usuários de gerarem senhas
decentes e, graças a estas pérolas da genialidade, ocorrerem invasões. Uma
maneira de evitar isso é com o uso de senhas aleatórias, mas haja paciência
para o administrador do sistema ficar imaginando senhas. Para isso, podemos
utilizar o próprio Linux, veja:
# dd if=/dev/random ibs=6 count=1 2>/dev/null | mimencode
Com esta linha, você irá gerar uma senha aleatória com 8 caracteres. O
que costuma ser suficiente para a segurança do sistema.
|
NFS mais rápido
|
Quando for montar uma partição NFS, utilize as opções rsize e wsize, com
isso você pode ganhar performance na sua rede, faça assim:
192.168.1.2:/remote /remote nfs defaults,wsize=8192,rsize=8192 0 0
O default é de 1024 (1K), fica muito melhor com valores maiores (e o 8192
costuma ser um ótimo valor).
|
Tocando CDs sem o cabo de áudio
|
Esta dica eu tirei da Linux Gazette, a idéia é muito boa e para mim foi
muito útil (um dos meus CDs está com um canal de áudio queimado e outro usa
um cabo alienígena). São duas maneiras de ler o CD e enviar o som pelo cabo
de dados, ou seja, você vai precisar ter uma placa de som configurada e
funcionando.
A primeira idéia é utilizando o cdda2wav (disponível no seu Slackware 8.1)
e direcionando a saída dele diretamente para a placa de som, assim:
# cdda2wav -D /dev/cdrom -t 1 -eN
O -D indica o device (no caso o cdrom) o -t indica qual faixa
do CD será tocada e o -eN direciona a saída de som para a placa de som.
A outra idéia é utilizando um plugin do XMMS que pode ser encontrado no
seguinte endereço:
ftp://mud.stack.nl/pub/OuterSpace/willem. Pegue a versão mais nova.
compile e instale no seu sistema.
Agora basta utilizar o XMMS para escutar
os seus CDs (apenas lembre-se de antes desativar o plugin para CDs de áudio
original do XMMS, para que os dois não entrem em conflito).
|
Convertendo HTML para TXT
|
Esta é uma dica rapidinha, várias vezes você quer converter um HTML para
TXT mas está com uma preguiça tremenda de apagar todas as tags, nestas horas,
existe o lynx -:) e tudo pode ser resolvido com este comando:
# lynx -dump -nolist arquivo.html
Onde o tal "arquivo.html" é o arquivo que você quer converter.
|
Ativando o Numlock no boot
|
Uma dica extremamente sonsa, mas tanta gente pergunta nas listas que
resolvi colocar aqui como resolver (tem na página de manual do setleds).
Para colocar o NumLock ativado no boot da sua máquina, coloque o seguinte
no seu /etc/rc.d/rc.local:
# Activating Numlock on startup
echo "Activating Numlock ..."
for i in 1 2 3 4 5 6; do
/usr/bin/setleds +num < /dev/tty${i} > /dev/null
done
|
Discar e desconectar automaticamente
|
A grande maioria dos internautas brasileiros ainda não tem acesso à banda
larga, e padecem com as linhas telefônicas (eu entre eles). Vi em uma lista
e achei interessante essas regras para a crontab que fazem com que o computador
disque automaticamente nos horários em que a ligação local é um pulso e desligue
no momento em que o desconto termina. São as seguintes:
0 6 * * mon-sat ppp-off >>/var/log/messages 2>/dev/null
0 0 * * tue-fri ppp-go >>/var/log/messages 2>/dev/null
30 14 * * sat ppp-go >>/var/log/messages 2>/dev/null
Você pode editar a crontab usando o comando crontab -e.
|
Imprimindo duas página em uma
|
Nestes tempos bicudos, é sempre uma boa economizar um pouco de papel. O
comando pstops ajuda bastante nessa economia. Com ele, é possível imprimir
várias páginas em apenas uma folha de papel. O comando para imprimir duas
páginas em uma é o seguinte:
pstops '2:0L@.6(19cm,1cm)+1L@.6(19cm,13.85cm)' entrada.ps saída.ps
Depois basta imprimir o arquivo saída.ps (obviamente, substitua o entrada.ps
pelo arquivo que você deseja imprimir...) Para criar um .ps, mande o programa
que você estiver usando imprimir para arquivo, o arquivo criado será um .ps.
O comando pstops possibilita várias outras coisas, muitas mesmo, vale a
pena uma boa olhada na página de manual dele.
|
Convertendo arquivos DOS para UNIX
|
Se você ficava com inveja do seu amigo que usa RedHat só porque na distro
dele tem o dos2unix, não precisa ter tanta raiva. O Slackware traz dois
programas justamente para fazer as conversões de textos padrão Unix to DOS
e vice-versa. Os nomes dos programas são bem sugestivos:
- fromdos - Para transformar textos que venham do DOS para padrão Unix
- todos - Para enviar arquivos Unix em formato DOS.
Ambos os comandos estão no pacote bin, da série A. E provavelmente já devem
estar instalados no seu sistema.
|
"Navegando" pelas palavras no bash
|
Esta quem me passou foi meu amigo Joel, quando se está no console e quer "correr" pelas palavras, podemos usar Alt+F para avançar e Alt+B para voltar uma palavra.
Aproveitando a deixa, dei uma olhadinha e no Slackware 8.1, no RXVT (e no ATerm, mas esse não vem por default) é possível usar uma combinação bem mais intuitiva, usar o Ctrl mais uma das setas cursoras (direita para avançar e esquerda para voltar).
|
WorkBone com Volume
|
O workbone (série AP) é um ótimo player (em modo texto) para CDs de áudio. Atualmente temos também o tcd (série GNOME), mas sou adepto da tradição e prefiro usar o worbone. Tinha falta apenas de uma coisa: controle de volume.
Agora não preciso mais me preocupar com isso,
nesta página vocês podem encontrar uma versão do worbone com controle de volume -:).
|
Dividindo a Tela em Duas
|
Dica simples e rápida, quando você estiver em um terminal e quiser
dividi-lo em dois, use o comando splitvt. Ele vai dividir a sua tela
em duas na hora. Para trocar de uma tela para outra, use o ctrl+W
|
Limpando a Tela para o Login Texto
|
No fim do boot, depois de todas aquelas mensagens, aparece o
prompt para o login. Ou então, depois de vários comandos digitados
você usa o exit e lá ficam na tela todos os seus comandos.
Para resolver isso, algumas pessoas colocam o comando "clear" no
.bash_logout, o que acarreta em dois problemas:
- Não é global, tem que fazer para todos os usuários
- Não resolve o problema das mensagens do boot
Uma solução melhor, é editar o /etc/issue. Faça a seguinte seqüencia
de comandos:
# (clear ; cat /etc/issue ) > issue2
# mv issue2 /etc/issue
O primeiro comando executa uma limpeza de tela e depois lê o arquivo
/etc/issue. A saída desse comando é direcionada para o arquivo issue2.
Assim, toda vez que o issue2 for lido, ele irá limpar a tela e depois
escrever o seu conteúdo. Na segunda linha a gente coloca nosso issue2
no /etc/issue.
|
Números aleatórios no BaSH
|
Existem duas maneira de se fazer números aleatórios no bash (devem haver mais, mas essas duas são suficientes). Uma delas é utilizando a variável RANDOM. O modo de usar é bem simples, no começo do seu programa, inicialize a RANDOM com algum valor (RANDOM=1) depois é só utilizá-la, cada vez que for utilizada ela estará com um valor diferente:
punk@rachael:~$ RANDOM=1
punk@rachael:~$ echo $RANDOM
16838
punk@rachael:~$ echo $RANDOM
5758
A outra maneira, um pouco mais complicada, utiliza o /dev/random e uma série de comandos auxiliares... assim:
dd if=/dev/random bs=8 count=1 2>/dev/null | cksum | cut -b3-7
Isto irá ler o /dev/random, rodar o cksum no resultado e por último pegar os bytes de 3 a 7, gerando um número com 4 dígitos. Quando se quer ter maior certeza e maior aleatoridade, o melhor é utilizar este segundo método.
Se você quiser um número aleatório dentro de um intervalo pode utilizar a seguinte idéia:
expr $RANDOM % 31
Isto irá mostrar números de 0 a 30. Não é difícil adaptar essa idéia para o outro método -;).
|
Fazendo um VNC sob demanda
|
Esta é uma idéia muito boa. Quantas vezes você não cansou de ter de logar na máquina, acionar o Xvnc, sair e depois utilizar o vncviewer para alguma máquina remota? Com esta idéia, toda vez que você conectar em uma determinada porta, será aberto um novo VNC...
Para fazer isso, inclua no /etc/services a seguinte linha:
vnc 5910/tcp # VNC Server
E no /etc/inetd.conf esta outra (cuidado! é uma linha só, eu dividi em duas
para não estragar o layout da página):
vnc stream tcp nowait root /path/to/Xvnc Xvnc -inetd -query localhost \
-once -geometry 800x600 -depth 16
Atenção: Onde está /path/to/Xvnc, você deve colocar o caminho para onde está o comando Xvnc. No meu caso, é /usr/local/bin/Xvnc. Você pode descobrir este caminho com o comando:
punk@rachael:~$ which Xvnc
/usr/local/bin/Xvnc
A geometria que está no -geometry determina o tamanho da tela e o -depth 16 a quantidade de cores. Para acessar o seu "servidor" de VNCs, utilize o vncviewer e se conecte ao display :10
vncviewer:10
O número do display é dado pelo número da porta menos 5900 (5910-5900=10).
|
Fazer o elvis funcionar dentro do aterm
|
Se você está com problemas para usar o elvis no rxvt ou no aterm, a solução
é bem simples. Ao invés de executar apenas:
elvis arquivo
Execute:
TERM=linux elvis arquivo
Se preferir, coloque no /etc/profile (ou ~/.bashrc, ou ~/.bash_profile, ou ~/.profile, ou...) um alias... desta maneira:
alias elvis="TERM=linux elvis"
|
Utilizando um corretor ortográfico no pico
|
Dica rápida, é possível fazer correção ortográfica no pico, para isso basta chamá-lo com a opção -s:
pico -s ispell
Agora, configurar o ispell e com você -;).
|
Colocando o Windows XP em um domínio Samba
|
Muita gente tem tido trabalho para colocar máquinas com Windows XP nos domínios em que uma máquina Linux com samba é o PDC. Também suei bastante para fazer isso na firma, por isso coloco aqui a dica -;):
- Na máquina linux faça:
smbpasswd -a -m nomedamaquina
- Entre em: Control Panel->Administrative Tools->Local Security Policy e depois em Local Policies->Security Options
- Dentro dessa janela, as seguintes opções devem estar desabilitadas:
- Domain member: Digitally encrypt or sign secure channel (always)
- Domain member: Disable machine account password changes
- Domain member: Require strong (Windows 2000 or later) session key
- No registro, altere/inclua a chave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters
"RequireSignOrSeal"=dword:00000000
- Entre em Start->Network Places->Properties->Advanced->Network Identification
- Selecione Domain e coloque o domínio correto para usa rede
- Coloque como usuário o root da sua máquina linux e como senha a senha dele no samba e OK.
- Depois que receber a tela "Welcome blablabla" reinicie o micro.
Bem trabalhoso, mas funciona -:) As vezes não precisa editar todos os itens, bastam alguns para tudo funcionar.
|
Mostrando a linha "x" de um arquivo
|
Dica rápida e muito útil. Muitas vezes precisamos de uma determinada linha
em um arquivo, pois sabemos que a informação se encontra lá. Para saber isso,
basta utilizar o seguinte comando:
# awk 'NR==numero' arquivo
Onde "numero" é o número da linha que você quer e "arquivo" é o arquivo em
questão.
|
Convertendo segundos em HH:MM:SS
|
O Unix conta o tempo em segundos a partir do EPOCH - meia noite do dia
primeiro de janeiro de 1970 GMT. De vez em quando, precisamos converter
dados desse formato para algo legível aos seres humanos, para fazer isso,
utilize o próprio comando date, com a seguinte sintaxe:
# date -d "00:00:segundos" "+%T"
Onde você substitui os "segundos" pelo tempo dado em segundos.
|
Limitando a banda
|
Esta dica eu peguei na lista do NSL, com o PZN, e é muito útil quando
se quer sincronizar um MIRROR ou fazer um download grande mas não se quer
que toda a banda seja utilizada...
wget --limit-rate=10k --continue http://algumendereco
rsync --bwlimit=10 rsync://algumendereco
Nos dois casos, o download está limitado a 10kbytes.
|
Marca d'água no LaTeX
|
Outra do NSL, para colocar uma marca d'água nos seus documentos em
LaTeX, utilize:
\AddToShipoutPicture{\BackgroundPicture{#figura#}{#angulo#}{#escala#}}
Onde figura você substitui por algum desenho em .ps ou .eps, angulo pelo
ângulo dela em relação à página e escala para redimensionar o tamanho.
|
Acertando as permissões do MySQL
|
O MySQL do Slackware vem (por padrão) com algumas permissões meio estranhas.
Para que ele possa funcionar corretamente, é necessário trocar o dono do
diretório /var/lib/mysql.
# chown -R mysql.mysql /var/lib/mysql
Ou, melhor ainda, quando for rodar o mysql_install_db, antes de rodar
o programa execute um su - mysql. Assim os arquivos sob /var/lib/mysql
já serão criados com as permissões corretas. Ficaria assim:
# su - mysql
# mysql_install_db
# exit
|
Alterando o default dos seus usuários
|
As vezes você precisa que todos os seus usuários sejam criados em outro
diretório que não o /home, ou que todos eles tenham determinado grupo...
Se você usa o useradd para criar seus usuários, isso pode ser alterado
de maneira bem simples, apenas crie dentro do diretório /etc/default um arquivo
com o nome de useradd e o seguinte conteúdo:
#useradd defaults
GROUP=número_do_grupo_default
HOME=diretório_home
SKEL=diretório_modelo
SHELL=shell_padrão
Obviamente, coloque os valores corretos onde está "número_do_grupo_default", "diretório_home", etc...
|
Lista rotativa
|
Precisei disto apenas uma vez, mas achei interessante (e pode ser útil para
outras pessoas). O script awk abaixo, faz com que as linhas de um arquivo
sejam "rotacionadas"... ou seja, ele passa a primeira linha para o fim do
arquivo e a segunda linha se torna a primeira...
awk 'NR == 1 { primeiro = $0 }
NR > 1 { print $0 }
END { print primeiro }' teste > teste2 ; mv teste2 teste
No caso, o arquivo em que está a lista se chama "teste" e "teste2" é um
arquivo temporário.
|
Boot pelo CD do 8.0 para instalar o 8.1
|
Essa dica foi passada pelo Buick na lista de slackware, e é bem útil para
quem tem um computador que não da boot com o CD do 8.1 mas que conseguia
com o CD do Slackware 8.0... faça assi:
- Dê boot com o CD do 8.0
- Quando aparecer a tela com a mensagem e o "boot:" retire o CD do 8.0
- Coloque o CD do 8.1 e digite a seguinte linha (tudo em uma linha só):
/kernels/bare.i/bzImage initrd=/isolinux/initrd.img load_ramdisk=1
prompt_ramdisk=0 ramdisk_size=6464 root=/dev/ram SLACK_KERNEL=bare.i
- Dê enter e continue a sua instalação normalmente.
|
Ativando o NumLock no X
|
Esta dica foi mandada por e-mail pelo Alan, e ele retirou de uma página
da SuSE. É o código de um programinha em C, pequeno e útil -;) Basta executar
e o NumLock estará ativo dentro do X.
//numlock.c
#include <X11/extensions/XTest.h>
#include <X11/keysym.h>
int main(void) {
Display* disp = XOpenDisplay( NULL );
if( disp == NULL )
return 1;
XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock), True, CurrentTime );
XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock), False, CurrentTime );
XCloseDisplay( disp );
return 0;
}
Digite o programinha em seu editor de textos favorito (VI) e depois compile
com o seguinte comando:
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -o setnumlock Numlock.c -lX11 -lXtst
Isso irá gerar um executável com o nome de "setnumlock". Agora basta
colocá-lo para ser executado no .xinitrc. Ou, no caso de você utilizar o
xdm/kdm/gdm, colocá-lo logo que o X é iniciado.
|
Mudar senha via linha de comando
|
Muitas vezes, queremos trocar a senha de um usuário com um comando,
diretamente. Ou queremos automatizar esse processo, em algum script. Existe
um comando para facilitar esse processo, o chpasswd que deve ser usado
da seguinte maneira:
echo usuario:senha | chpasswd
Essa dica surgiu em uma resposta da Daniele na lista do gus-br...
|
Alterar teclado no X
|
Principalmente quando estamos fazendo testes, é particularmente irritante
ficar derrubando e reinicializanod o X para carregar um novo mapa de teclado.
Isso pode ser resolvido de maneira razoavelmente simples usando o setxkbmap.
Com este programa podemos definir o layout, mapa e até a variante do
teclado. Por exemplo, para um teclado us-acentos de 102 teclas:
setxkbmap -rules xfree86 -model pc102 -layout us_intl
Para um teclado abnt...
setxkbmap -rules xfree86 -model abnt2 -layout br
Depois dos testes feitos, basta colocar os valores corretos no seu
/etc/X11/XF86Config.
|
Driblando o "Argument list too long"
|
Outra dica que surgiu na lista do gus-br. Quando uma linha de comando
é muito grande, temos este erro: "Argument list too long". Isso acontece
quando tentamos remover todos os arquivos de um diretório com alguns
milhares de arquivos...
A solução mais simples, é montar um pequeno script do modo:
$ for i in `ls`; do rm $i; done
Outra solução, que achei mais inteligente é feita utilizando o xargs:
$ ls | xargs -n10 -i rm {}
O xargs é uma ferramenta muito poderosa, pena que é esquecida na maior
parte das vezes...
|
Usando crontab -e e o VIm
|
Muita gente reclamou de que o crontab -e não salva no Slackware. Pura balela,
se você utilizar o elvis ele salva normalmente. Mas, se você trocou o
seu editor padrão para o vim, vai ter alguns problemas. Eles podem ser
solucionados de duas maneiras:
- Carregue o VIm e, antes de começar a editar a crontab, escreva (no modo de comando)
:set compatible
isso irá tornar o VIm compatível com o VI tradicional.
- Crie um alias com o nome de edcron (por exemplo) e chame o crontab
com o elvis ao invés do VIm e coloque esse alias no seu .bash_profile:
alias edcron="VISUAL=elvis crontab -e"
|
Montar partição Windows para escrita
|
Essa dúvida é recorrente, como montar uma partição Windows para que os
usuários comuns possam escrever nela. Fiz uma partição FAT só para poder
responder a esta questão...
Como FAT não tem controle de usuários, é necessário mapear a partição
para algum usuário (ou grupo de usuários), isso é possível de fazer tanto
com algumas configurações no fstab como por linha de comando.
A linha a ser incluída no fstab é esta:
/dev/hda1 /mnt/windows vfat gid=100,umask=002,users 0 0
Por favor! Substitua o hda1 pelo dispositivo correto na sua máquina!!! A
outra maneira é executar (como root) o seguinte comando:
mount -o gid=100,umask=002 -t vfat /dev/hda1 /mnt/windows
Vejam bem, o gid a ser utilizado é o 100, que no Slackware é o grupo users,
default para todos os usuários. Se você estiver em outra distro isso deve
se alterar um pouco.
|
wget com proxy
|
Essa última é rapidinha... quer usar o wget através de um proxy? Basta
exportar duas variáveis e ir para o abraço:
export http_proxy=http://seu.proxy:porta-de-seu-proxy
export ftp_proxy=http://seu.proxy:porta-de-seu-proxy
Essa dica serve para vários outros programas além do wget... Ah! Caso
precise entrar com usuário e senha, tente exportar as varíaveis assim:
export http_proxy=http://usuario:senha@seu.proxy:porta-de-seu-proxy
export ftp_proxy=http://usuario:senha@seu.proxy:porta-de-seu-proxy
Agradeço ao leitor Aljandro Flores pela dica de como indicar o usuário e senha do proxy.
|
Corrigindo o C acentuado
|
Primeiro você deve configurar o seu encoding. No arquivo /etc/profile.d/lang.sh, comente a linha que diz LANG=C e descomente (retire o # da frente) da linha contendo:
export LANG="en_US.ISO8859-1"
Se você prefere as mensagens do sistema em português, pode usar
pt_BR ao invés de en_US.ISO8859-1. Agora você deve acertar a configuração
do GTK2, isso é feito no arquivo /etc/profile.d/gtk+.sh, onde é necessário
incluir a linha:
export GTK_IM_MODULE=xim
E pronto!
|
Alterando o tamanho da tela "on-the-fly"
|
Agora, no XFree86 4.3.0, é possivel mudar a resolução da tela com um único comando. Não que eu veja muita utilidade nisso, acho mais interessante usar o CTRL+ALT+"+" ou "-" para fazer isso.
SE você quiser mudar a resolução da sua tela, faça:
$ xrandr
Para ver as resoluções disponíveis e depois:
$ xrandr -s N
Utilizando "N" como sendo a resolução que vc quer. Em alguns
gerenciadores de janelas, precisa reiniciar o gerenciador para
que ele detecte o novo tamanho da tela. Utilize a opção
"Reiniciar" ou "Restart" do menu.
|
Fazendo um disco de boot no Slackware
|
Não é nada complicado, basta um comando e seguir as instruções:
$ makebootdisk
Tenha em mãos um disquete bom. Se bem que disquete bom é raridade... e os que estão bons agora podem não estar daqui a 10 minutos.
|
Extrair audio de DVD
|
Esta dica me foi passada pelo pzn (mais uma) e faz tocar apenas o som
de um DVD, sem a imagem:
$ mplayer -ao pcm -vo null -vc null
Uma idéia boa para DVDs de áudio...
|
Fazendo thumbnails
|
Este comando foi extraído da manpange do convert, mas, como é bastante
útil (e pouca gente sabe usar o convert) resolvi colocar aqui:
$ convert -size 120x120 cockatoo.jpg -resize 120x120
+profile "*" thumbnail.jpg
O comando é para ser colocado inteiro em uma só linha. Ele irá converter
a imagem cockatoo.jpg para uma chamada thumbnail.jpg e com 120 pontos de
altura e 120 de largura.
|
Tirando um screenshot
|
Muitas vezes queremos tirar um screenshot, mas estamos sem um programa
gráfico para isso (ou simplesmente não sabemos como fazer). Uma boa solução
é usar o xwd, que foi feito exatamente para isso, fazer dumps de tela.
Para tirar um screenshot da tela inteira faça:
# xwd -root -out testeshot.xwd
Vários programas conseguem ler o formato .xwd. Mas, se você não tiver
um deles, ou preferir tirar o shot diretamente em outro formato, você pode
fazer:
# xwd -root | convert - testeshot.jpg
Ao invés de .jpg, é possível escolher qualquer formato suportado pelo
ImageMagick (como .gif ou .png).
O leitor Rodrigo Souza me mandou um jeito muito mais fácil, já que estamos
usando o ImageMagick para converter o arquivo xwd para jpg (através do convert), é muito mais fácil usar o próprio ImageMagick para pegar o screenshot, com o comando import:
# import -w root testeshot.jpg
Vivendo e aprendendo...
|
RSH como root sem senha
|
Atualmente é extremamente incomum alguém utilizar o RSH, ainda mais
sem senhas. Mas, ainda são muito utilizados em clusters, que costumeiramente
são sistemas fechados.
Para que você possa usar o RSH como root e sem senhas, são necessários
apenas dois passos:
- coloque dentro do seu /root/.rhosts os nomes dos hosts que podem
conectar sem senha.
- Edite o /etc/inetd.conf e edite as linhas que tratam do in.rshd e
do in.rlogind:
shell stream tcp nowait root /usr/sbin/tcpd in.rshd -h
login stream tcp nowait root /usr/sbin/tcpd in.rlogind -h
As linhas estão comentadas, sendo necessário descomentá-las.
Depois disso, basta reiniciar o inetd. E começar a se "divertir"...
|
Não executar o hotplug
|
Esta é rapidinha, as vezes, o hotplug detecta algo errado e chega a
travar o computador, para solucionar isso, basta colocar no prompt do LILO:
Linux nohotplug
Aí o seu sistema boota sem o rodar o hotplug e você pode colocar o módulo
malvado na blacklist ou então desativar o hotplug para não ser mais ativado
na inicialização do sistema.
|
Mudar o hostname
|
Ok, você quer mudar o hostname da sua máquina e não quer reconfigurar toda
a rede usando o netconfig, não tem problema, apenas edite os arquivos:
No próximo boot, o seu hostname já estará alterado. Se quiser alterar ainda
neste boot, além de editar os arquivos, execute o comando:
$ hostname `cat /etc/HOSTNAME | cut -f1 -d .`
|
Contar palavras
|
Scriptzinho em awk para contar palavras em um texto. Provavelmente não
deve ser o mais eficiente, mas é bem interessante e rapido de fazer:
awk '{ for (i=1;i<=NF;i++) { lista[$i]+=1 } }
END { for (i in lista) { print i,lista[i]} }'
No final ele mostra uma lista com as palavras usadas no texto e quantas
vezes cada uma delas aparece...
Me mandaram a sugestão de usar o wc para contar palavras (já que é para
isso que ele foi criado), mas o wc não faz a parte de mostrar quantas vezes
aparece cada palavra, apenas conta quantas tem no texto.
Quem estiver curioso:
wc -w arquivo
A sugestão foi mandada por Rodrigo Souza. E fica aqui, para ninguém mais
achar que eu desconheço o wc -;).
|
CUPS reclama: Unsupported format 'application/octet'!
|
Você está imprimindo em modo "raw", querendo que o seu sistema de impressão
não faça absolutamente nada com o texto e o cups, além de imprimir lixo, enche
o seu /var/log/cups/error_log com a mensagem acima...
A solução é simples, edite o /etc/cups/mime.convs e o /etc/cups/mime.types e,
nos dois, descomente a linha:
#application/octet-stream
Depois reinicie o cups e tente novamente...
|
Chamando outro gerenciador de janelas
|
As vezes queremos apenas fazer um teste, dar uma olhadinha
em um gerenciador de janelas diferente. E, apenas para um
teste, não compensa trocar o .xinitrc ou usar o xwmconfig.
É muito mais simples chamar diretamente o gerenciador de
janelas novo através da própria linha de comando o startx,
como no exemplo:
# startx `which fvwm2`
Isso irá chamar o X, e usar o fvwm2 como gerenciador de
janelas. Pode substituir o fvwm2 pelo executável de
qualquer um dos WMs disponíveis na sua máquina.
- wmaker -> WindowMaker
- blackbox -> blackbox
- gnome-session -> GNOME
- startxfce (ou startxfce4) -> XFCE
- startkde -> KDE
Espero que a lista acima ajude a escolher
|
Acelerando o Flash no Mozilla
|
Quem usa o mozilla compilado com a GTK2+, pode ter notado
que as animações em flash ficam extremamente lentas. Se você
estiver sofrendo com este problema, não precisa sofrer mais, basta
fazer o seguinte antes de iniciar o mozilla:
$ export FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0
Para facilitar a vida, é melhor liberar este comando para todos os
usuários, você pode simplesmente colocar no /etc/profile ou criar um
mozilla.sh no /etc/profile.d com o seguinte conteúdo:
#!/bin/sh
export FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0
Lembre, é claro, de tornar este arquivo executável.
|
Aumentando o brilho no X
|
Este comando não é para regular o brilho... mas acaba servindo para
isso... na realidade, com ele você pode regular a intensidade de cada
cor (vermelho, verde e azul). Mas basta ser criativo -;)
# xgamma -gamma 1.2
Com este comando, o seu vídeo ficará um pouco mais claro... você pode
brincar um pouco com isso... depois que achar o valor ideal, coloque este
comando para ser iniciado no seu .xinitrc (ou .xsession)
Se quiser voltar ao normal, o default é 1.0. Divirta-se.
|
Socorro! Meu mouse corre para o canto da tela!
|
Isso é mais comum do que se pensa. Por default, o slackware vem configurado
para utilizar mouses PS/2. Quando estamos usando um mouse serial, isso faz
com que ele caminhe para o canto da tela. Para resolver esse problema, basta
trocar o protocolo do mouse no arquivo /etc/X11/xorg.conf. Troque onde
está:
Option "Protocol" "PS/2"
Para:
Option "Protocol" "Microsoft"
|
Erros com GTK2 e arquivos acentuados
|
Para variar, mais alguma peculiaridade engraçada da GTK2. Depois do
fabuloso C acentuado, temos o problema da caixa de diálogo para escolher
arquivos e diretórios não apresentar arquivos com acentuação. Para
resolver isso é necessário fazer:
$ export G_FILENAME_ENCODING=ISO-8859-1
Para tornar a alteração permanente, inclua-a no seu /etc/profile.d/gtk+.sh
ou em algum outro arquivo que seja executado quando você logar na máquina
(como o .bash_profile, .bashrc ou até mesmo o .xinitrc)...
|
Adicionando e retirando usuários de um grupo
|
Adicionar e retirar usuários de um grupo é mais fácil do que parece, basta
utilizar o comando gpasswd. Ao remover, a sintaxe é:
$ gpasswd -d usuario grupo
E, para adicionar use:
$ gpasswd -a usuario grupo
Para quem prefere o jeito tradicional, pode usar o vigr para editar
o /etc/group. Essa dica foi passada pelo m4sk4r4 (para falar a verdade
eu vi ele "falando" a respeito no irc).
|
Tela azul no Xine
|
Isso acontece quando o xine utiliza o driver de video Xv e a
implementação do Xv da sua placa de vídeo não presta (alguém aí falou
SiS?). Para resolver, existem duas soluções:
- Usar outro driver de vídeo: xine -V shm (por exemplo)
- Manter o driver Xv e editar o xorg.conf, na seção Device,
adicione a linha:
Option "XaaNoOffScreenPixmaps"
Tanto uma como a outra maneira retiram a aceleração do xine, ou seja,
tudo vai ficar nas costas do seu processador.
|
Problemas com a transparência real
|
O mozilla (e outras aplicações) não conseguem manipular direito a
transparência real do novo X (X11 6.y; y>=8) quando usamos a profundidade
de cores de 16bits.
Isso acontece porque essas aplicações esperam que os dados de cada pixel
estejam alinhados de 8 em 8, no padrão RGBA e, com 16bits, não dá para se
ter 8 para o canal R, 8 para o G e 8 para o B. A solução é simples, edite o
seu xorg.conf e troque a profundidade padrão para 24bpp:
DefaultDepth 24
Essa informação fica na seção Screen.
|
Provedores que precisam de autenticação
|
Essa é uma dica muito legal, enviada por allan_linux, para
fazer autenticação automática em provedores que precisam de
uma autenticação web (por exemplo, o ig).
Execute o lynx, habilitando o log dos comandos dados:
# lynx -cmd_log=ig.log ig.com.br
Logo que autenticar, saia do programa (Ctrl+C). Copie o
arquivo ig.log para o /etc/ppp e troque as suas permissões
para 600, já que o seu usuário e a sua senha estão gravados
nele:
# cp ig.log /etc/ppp
# chmod 600 /etc/ppp/ig.log
Agora, basta adicionar no seu /etc/ppp/ip_UP o seguinte
comando:
/usr/bin/lynx -cmd_script=/etc/ppp/ig.log ig.com.br
Toda vez que levantar a sua conexão de internet, os comandos
que estão no ig.log serão executados novamente. E pronto!
|