09/02/2012

ad.

Linux: como capturar um pedaço da tela

Eu já mostrei no blog como capturar a tela do computador no Linux. O único inconveniente daquele método é que ele captura todo o desktop ou toda a janela ativa. Mas e se você quiser capturar um pedaço arbitrário da tela, envolvendo uma ou mais janelas?

A resposta é ativar os recursos de “Efeitos Avançados de Desktop” do Gnome, o Compiz, e ativar o Screenshot.

Para isso, vá ao menu em Sistema > Preferências > Configurações dos recursos avançados de desktop. Abrirá uma janela, clique em Extra e ative o recurso screenshot, como mostra a figura abaixo:

screenshot3

Você também pode configurar o diretório e a tecla de atalho a ser utilizada, basta clicar sobre o ícone da opção Screenshot. Depois, basta confirma a seleção fechando a janela. Agora, quando quiser selecionar um pedaço da tela, pressione a tecla Win (aquela com o logo do Windows) e clique o botão esquerdo do mouse e arraste.

compiz-screenshotcapture

A aŕea no retângulo azul é a que será capturada. Quando soltar o botão, o arquivo será automaticamente gravado no diretório escolhido (obs: o diretório padrão é a própria área de trabalho) com o nome screenshotN.png, com N sendo um número (1,2,3,etc…).

Linux: utilize o rsync para fazer backup

Há muitas formas de se copiar arquivos no linux, desde os básicos cp, rcp, scp, etc… mas uma das melhores é utilizando um pequeno aplicativo chamado rsync. Na verdade o que será feito é mais do que uma cópia, é uma sincronização. Se foi feita alguma mudança o aplicativo ira refletir isso. Ou seja, adicione os arquivos novos, retire os excluídos, altere as propriedades, etc… Se você sincronizar com  rsync, alterar um arquivo e fizer uma nova sincronização, apenas as partes alteradas daquele arquivo serão atualizadas, muito mais rápido que refazer tudo.

O formato do comando é muito simples

rsync [OPTION...] origem destino
Há muitas opções no rsync, sugiro um rsync –help para ver todas, mas vou dar uma lista bastante interessante e que serve a quase todos. No exemplo a seguir vou copiar recursivamente TODOS os diretórios e subdiretórios da minha pasta, mantendo as permissões e propriedade (no sentido de dono, ownership) dos arquivos, para um pendrive:

rsync -av /home/compdicas /media/disk/compdicas

a “/” final faz toda a diferença no diretório de origem. Seu eu escrever /home/compdicas/, o aplicativo cria uma pasta compdicas no destino e copia tudo. Seu eu não colocar a barra final, ele apenas copia os diretórios recursivamente para /media/disk/compdicas. Isso é fundamental para backups.

Opções:
-a, –archive: reúne uma série de opções em um mesmo comando, é o mesmo que -rlptgoD. De forma geral, copia recursivamente (-r), copia symlinks como symlinks (-l), preserva as permissões (-p), preserva os horários de criação, alteração, etc dos arquivos (-t),  preserva o grupo (-g), preserva o proprietário (-o) e o -D preserva devices e special files

-v, –verbose: o bom e velho verbose mostra o que está acontecendo. Você também pode utilizar -vv e -vvv para saber ainda mais sobre o que está acontecendo.

-z, –compress: Comprime o arquivo durante a transferência. É excencial se a transferência é feita entre dois computadores distintos, na mesma rede ou pela internet. Se for localmente, de um HD para outro do mesmo computador, é melhor não utilizar essa opção.

–delete: deleta no diretório a ser sincronizado os arquivos que foram excluídos no diretório de origem. atenção: muito cuidado com o comando delete, de fato, enquanto você se acostuma com o rsync é melhor não utiliza-lo, ou pelo menos substitui-lo pelo –dry-run

–dry-run: mostra o que o rsync faria (sem chegar a fazer nada). Muito bom para ver se era isso mesmo que você queria. Recomendo fortemente antes de sair utilizando o rsync, “brincar” bastante sempre com essa opção.

Assim, o nosso comando ficaria:

rsync -av –delete /home/compdicas /media/disk/compdicas

Sincronizando remotamente de forma segura (com SSH)
Uma das coisas boas do rsync é a facilidade em se utilizar o SSH para conectar a um servidor remoto de forma segura. Nada de ficar se expondo, basta indicar o destino na forma de um usuário em outra máquina. Antes porém, mais duas opções:

–progress: exibe o progresso da transferência

-e: especifica o shell a ser utilizado, no caso, SSH

O que, substituindo pelo seu nome de usuário, nome do servidor e diretórios, resultaria em :

rsync -avze ssh –delete –progress /home/compdicas/dir/    user@servidorremote.com.br:dir/

O programa, claro, irá solicitar a senha.Caso não queira ficar digitando a senha todas as vezes, utilize o seguinte procedimento para gera uma chave:

Crie uma chave (e pressione ENTER quando o sistema perguntar por uma passphrase):
ssh-keygen -t dsa

Em seguida, copie a chave para o servidor remoto com:
ssh-copy-id -i .ssh/id_dsa.pub user@servidorremoto.com.br

E finalmente o rsync (igual ao anterior):

rsync -avze ssh –delete –progress /home/compdicas/dir/    user@servidorremote.com.br:dir/


Espero que a dica tenha sido útil. Qualquer dúvida ou sugestão (vale elogio também :) ), não esqueçam de comentar.

Como instalar o Google Gadgets no Linux

O Google Gadgets para linux é uma plataforma para rodar gadgets (pequenos aplicativos) no seu desktop operando sob o linux. Você poderá utilizar os mesmos mini-aplicativos da versão para Windows e também os que rodam no iGoogle.

A instalação é muito fácil. Há binários para diversos sistemas (Ubuntu, OpenSuse, Debian, Mandriva,  Fedora, FreeBSD, Slackware).

Abaixo dou as instruções para o Ubuntu:

Ubuntu (8.04 e 8.10)
Clique no link e faça o download da sua versão:

http://www.getdeb.net/app/Google+Gadgets

nota (Hardy = 8.04; Intrepid = 8.10)

Em seguida, instale o aplicativo. Para isso, abra a basta onde fez o download e dê um duplo clique sobre o pacote. Se você fez o pacote da versão Hardy 32 bits, o arquivo se chamará google-gadgets_0.10.4-0~getdeb1_i386.deb. Quando abrir o instalador de aplicativos, clique em “Instalar pacote”:

Quando terminar a instalação, aparecerá uma janela como essa abaixo:

Iniciando o Google Gadgets
Quando terminar a instalação, pressione Alt+F2 e digite ggl-gtk

Aparecerá a barra lateral de aplicativos e a janela para selecionar um gadget.

Auto iniciar
Para iniciar automaticamente o Google gadgets quando o computador for ligado, clique no menu em Sistema->Preferência->Sessão e em Adicionar. Digite Google Gadgets no campo nome e ggl-gtk no campo comando, em seguida cliquem em OK e feche a janela. Pronto, o Google Gadgets iniciará automaticamente.

Linux: como inserir ou alterar texto em vários arquivos simultaneamente

Se você alguma vez já teve que editar uma série de arquivos para remover, inserir ou alterar algum texto, sabe como isso pode ser desesperador.

No desenvolvimento do site de relacionamentos Cupido.com.br, fizemos uma interface “genérica”, nada deveria ficar no código fonte, apenas nos templates. Mas sempre sobra alguma coisa. E foi justamente com o nome do site. Assim, para aproveitar o mesmo sistema em portais “irmãos”, eu tive que caçar e alterar o nome por mais de uma centena de arquivos de templates. A solução? O bom e velho perl.
Veja o comando:

perl -p -i -e “s/Cupido.com.br/__portal_name__/g” *.html

Explicação dos comandos:
-p -> assume um loop (o mesmo que -n no sed)
-i -> edita os arquivos (realiza a operação no arquivo e não apenas na saída)
-e -> executa a linha de programação

também poderia utilizar o sed

sed ‘s/Cupido.com.br/__portal_name__/g’ *.html

Nos dois casos, todos os arquivos com a extensão html encontrados no diretório serão alterados.

Não se esqueça de fazer um backup antes de executar o comando. Sacomé, melhor prevenir…

Linux: como lidar com ‘too many files’ ao excluir arquivos

Quem é usário Linux e já tentou excluir um diretório com vários milhares de arquivos recebeu pela proa uma mensagem de erro dizendo ser impossível excluir todos porque há muitos arquivos abertos, ‘too many open files’ na versão em inglês, a mais comum por aí.

Isso ocorre porque o comando rm dedica um ponteiro para cada arquivo ao ser invocado, o que pode levar a extrapolar o limite configurado no sistema operacional. Para não ter que lidar com a configuração do S.O. propriamente dita, o jeito mais fácil é excluir um a um mas todos de uma vez. -Como é que é?! Na verdade é simples, vamos fazer uma busca por todos os arquivos do diretório e, para cada entrada, a exclusão. Para que isso aconteça vamos utilizar o comando find e sua opção -exec. Vamos ao exemplo.

find . -name ‘*’ -exec rm {} \;

find -> invoca o comando find, que procura arquivos
. (ponto) -> informa que devemos começar no diretório local
-name ‘*’ -> o filtro são os arquivos que contém o caracter mágico *. Na prática isso significa “todos os arquivos”.
-exec rm {} -> executa o comando rm (remove) para cada entrada encontrada

Pronto, todos os arquivos do seu diretório foram excluídos.

Como copiar um site inteiro no Linux

Todo mundo já passou pela tentação de querer copiar um site inteiro, seja por querer manter um conteúdo interessante de forma local ou pra fazer backup do seu próprio site.

No linux isso é muito fácil, basta utilizar o poderoso wget.

Instalação
Ele já vem instalado em boa parte das distros, mas se na sua não estiver, utilize um dos comandos abaixo:

Ubuntu/Debian
sudo apt-get install wget

Fedora/Red Hat/CentOS
yum install wget

Utilização
Todas as opção estão disponíveis no tradicional (wget –help) ou pelo man wget. Mas para fazer a cópia basta utilizar a opção -r (recursiva), ficaria assim:

wget -r http://www.endereco_do_site.com.br

Se o site exige login e senha utilize as opção –http-user e –http-passwd:

wget -r –http-user meulogin –http-passwd minha senha http://www.endereco_do_site.com.br

Importante: nem todos os sites utilizam autenticação via http (aquela que abre uma janela de login e senha do próprio navegador), alguns utilizam cookies ou flash pra isso. Assim, a solução acima não irá funcionar. Mas não se desespere, tente utilizar os cookies do seu navegador. Faça o seguinte

  1. Acesse o site com seu navegador favorito e faça seu login
  2. Localize o diretório onde seu navegador mantem os cookies. Para o Firefox, por exemplo, o endereço é ~/.mozilla/firefox/seu_id_de_usuario
  3. Utilize a indentificação do seu navegador e os cookies na linha de comando do wget:
    wget -U –load-cookies=~/.mozilla/firefox/seu_id_de_usario/cookies.txt http://www.endereco_do_site.com.br

Simples, não? Em próximo post vou entrar em detalhes da opção mirror e como converter páginas .asp, .php, .cgi, etc… em .html ao copiar o site.

O que são e como instalar arquivos .deb no ubuntu

Esse blog é pautado pelas perguntas que recebo. Essa é parece daquelas tão óbvias pra quem está a anos trabalhando com diversas linhas de linux, que provavelmente não me ocorreria a idéia de escrever sobre isso.

Você fez um download de um programa para o seu Ubuntu/Debian e a extensão é .deb, o que é isso?
É um pacote para o formato do debian. Nele já está tudo pronto para o programa ser instalado, todos os caminhos definidos, etc…

Além de simplificar a vida, também ajudam a manter o sistema em dia. De forma simplista, o que as atualizações automáticas fazem é verificar a versão de um pacote instalado com a versão disponível nos repositórios. Se a versão na rede for mais recente que aquela instalada, o download e a instalação são feitos. Por isso, sempre que for possível escolher entre um pacote e uma compilação, sugiro que instale o pacote.

Como instalar um arquivo .deb
A instalação não poderia ser mais simples. Faça o download e abra o arquivo e dê um duplo clique nele. Abrirá o instalador de pacotes (package installer). Apenas clique em “Instalar pacote”. É só isso. Mesmo.

Se preferir utilizar a linha de comando, digite o comando abaixo, trocando pacote-versao.deb pelo nome do arquivo que deseja instalar

dpkg -i pacote-versao.deb

Pronto, seu pacote está instalado. E se estiver nos repositórios, sempre que houver uma atualização você será notificado.

Como adicionar a lixeira ao desktop do Ubuntu

Se você está migrando do Windows para o Ubuntu, talvez demore um tempo a se acostumar com uma ou outra característica. Pela minha experiência, a maioria dos que desistem de um sistema operacional fazem isso por pequenos motivos: -ahh, aquele botão que eu usava não tem aqui… -puxa, lá o atalho de teclado era assim… etc…

Uma das coisas que alguns usuários demoram pra se acostumar é -Onde está a lixeira do ubuntu?

Pois bem, vou mostrar como colocar um ícone da lixeira no seu desktop.

1. Digite alt+F2 para abrir a caixa de rodar aplicativos e digite gconf-editor

ubuntu - janela de rodar aplicativos

ubuntu - janela de rodar aplicativos

2. Na janela de configurações do gnome, localize Aplicativos (App) > nautilus > desktop e ative a opção “trash_icon_visible”. Pressione o botão OK

ubuntu gconf-editor

ubuntu gconf-editor

Pronto, sua lixeira já está disponível no desktop, basta arrastar os arquivos que quiser excluir para lá. Obs: o ícone da lixeira depende do tema escolhido.

ubuntu lixeira

ubuntu lixeira

Como gravar uma rádio online

Você se conecta a uma rádio on-line, com a programação que sempre desejou, mas não tinha como gravar. Agora tem. Esse programa é uma daquelas pérolas que às vezes aparecem navegando pela internet. Trata-se do screamer-radio, um pequeno aplicativo com uma (muito) extensa lista de rádios online, tornado muito fácil selecionar qualquer rádio da sua extensa base de dados e ainda grava.

Eles possuem duas versões, uma para instalação normal e outra portable (portátil). Essas versões portáteis são programas que podem ser colocados em um pendrive, por exemplo, e depois basta plugar em outro computador e sair utilizando.

Abaixo uma imagem do screamer-radio rodando.

Para gravar uma rádio clique em Definições > Preferências > Recording, selecione uma pasta e clique em OK. Depois basta pressionar o botão “Gravar” na interface do screamer-radio que a gravação começa.

Simples, prático e eficiente.

Aox linuxers, funciona muito bem no Wine.

Launchy: lançador de aplicativos para Windows

Pra quem utiliza windows e gostou do Gnome-Do, a alternativa é o Launchy (funciona também no linux).

O programa faz um mapeamento dos seus aplicativos instalados. Depois, para rodar um programa, abrir uma página ou pasta, etc… basta começar a digitar. Não é necessário utilizar o mouse. Como eu disse no texto sobre gnome-do, depois que se começa a utilizar um programa desses, é duro ficar sem. Insista na primeira semana pra se acostumar, vale a pena.

Eis como o Launchy aparece quando se procura alguma coisa:

Para instalar o programa basta fazer o download e rodar o programa.

« Previous PageNext Page »