Arquivo

Archive for julho \27\UTC 2010

Auto-completando opções de comandos com o bash completion


Um recurso que achei muito bom no Ubuntu  e me dei conta que não tinha no fedora é o de auto-completar opções de vários comandos no terminal apenas como a tecla TAB. Já é sabido que o bash é capaz de completar o nome de um de um comando, um arquivo ou um caminho através dessa tecla, mas o que muitos não sabem é que também é possível completar as opções dos comandos passados ou até mesmo o nome de um pacote que você quer remover ou instalar do seu sistema. Vejamos um exemplo (o caractere ‘|’ representa a posição do cursor, abaixo):

# yum l|[TAB]
list          localinstall

Note que eu me referi a uma opção que começa com ‘l’ do comando yum e teclei TAB (duas vezes na primeira vez) e como retorno, o shell me mostrou as duas opções possíveis para o comando yum que começam com a letra ‘l’: list e localinstall. Nesse caso, se eu colocar mais uma letra e dar um TAB, a opção já fica automaticamente definida.  Assim, se fizer:

# yum lo|[TAB]

o shell irá expandir para

# yum localinstall |

Vejamos mais dois exemplos. Um ainda com o yum e outro com o comando update-alternatives:

# yum ins|[TAB]

Expande para

# yum install |

E depois tento instalar um programa que começa com ea:

# yum install ea|[TAB]
earcandy.noarch                           easymock2-javadoc.noarch
earth-and-moon-backgrounds-common.noarch  easymock2.noarch
earth-and-moon-backgrounds-dual.noarch    easymock-javadoc.noarch
earth-and-moon-backgrounds-kdm.noarch     easymock.noarch
earth-and-moon-backgrounds.noarch         easystroke.x86_64
earth-and-moon-backgrounds-single.noarch  easytag.x86_64

isto é, uma lista de todos os programas que posso instalar no meu sistema. Agora veja:

# yum install easyt|[TAB]

e então..

# yum install easytag |

Agora com o update-alternatives:

# update-alternatives --|[TAB]
--admindir  --auto      --display   --install   --remove    --verbose
--altdir    --config    --help      --quiet     --set       --version
# update-alternatives --c|[TAB]

E será expandido para:

# update-alternatives --config |

LOL! Ficou com vontade de ter um recurso desse no seu Pinguim? Então, como uso fedora, vou passar o procedimento para obter esses efeitos nele. Se você usa outra distro, procure por esse pacote e instale ele. No caso do fedora, é bem simples.  Instale o pacote bash-completion no seu sistema:

# yum install bash-completion

E é somente isso. 🙂

Você pode ver uma lista de comandos que permitem utilizar o recurso de auto-completar listando o conteúdo do diretório /etc/bash_completion.d:

$ ls /etc/bash_completion.d

Onde cada arquivo nesse diretório se refere a um comando do sistema.

É até possível criar suas funções que permitem auto-completar comandos que você queira ou de programas que criou, mas isso está fora do escopo desse post. Só com esses você já terá muitos comandos com esse recurso.

Anúncios

Minhas impresssões com o Ubuntu 10.04 – Lucid Lynx


Sempre fui um usuário do fedora.  Sou até chato de vez de quando, de tanto que falo dessa distro para amigos. Não porque eu a ache melhor que as outras ou coisa do tipo. A verdade é que simplesmente sou apegado a distro por me identificar com ela ou simplesmente porque aprendi a gostar dela, conforme fui me envolvendo com  o mundo do software livre. No entanto, resolvi deixar de lado  esse meu apego  e me aventurar em terras um pouco (não muito) desconhecidas de outras distros. Eu já usava o Arch Linux  e Ubuntu através de uma máquina virtual, com a intenção de conhecer sem ter de formatar o PC ou ficar a rodar pelo LiveCD (no caso do Ubuntu), mas tomei uma decisão faz pouco tempo de mudar minha distro padrão e então baixei e instalei o Ubuntu 10.04 Lucid Lynx  64 bits no meu PC e também no do meu pai.

Uma coisa que sempre me chamou a atenção no Ubuntu, é que a equipe de arte da distro sempre fez um bom trabalho deixando um visual nessa distro que fica realmente muito bonito, na minha opinião. Eu gosto de desktops bonitos e nessa parte, o Ubuntu teve um ponto positivo comigo, apesar de não ser um suuuper ponto, visto que não considero a parte mais importante numa distro. Mas é alguma coisa, principalmente para usuários iniciantes em que uma primeira impressão pode definir se fica ou não na distro (ou no Linux).

Minha área de trabalho no Ubuntu 10.04 - Lucid Lynx. Ainda a padrão, já que gostei bastante dela.

Logo que dei o primeiro boot, o Ubuntu já me notificou que da existência de um driver (proprietário) para a minha placa de vídeo Nvidia. Eu adorei isso e como sei que, por enquanto,  nenhuma solução livre  trabalha de maneira satisfatória com placas Nvidia, resolvi instalar o driver proprietário e logo tive o compiz também rodando de maneira discreta no meu PC, da maneira como gosto.  Pra ser sincero,  o driver nouveau avançou muito ultimamente e é muito provável que eu passe a usar ele num futuro muito próximo.

A canonical tem cumprido o que disse: “Linux for Human Beings”. Ubuntu é uma distro fácil de usar, configurar, com vários scripts/programas que a deixam ainda mais completa instalando tudo o que usuário precisa (e também o que não precisa..), como codecs, Java, Flash, players, algumas configurações, etc.  O Ubuntu Perfeito, criado pelo Hamacker é muito bom nisso. Existe também o Ubuntu Start e atualmente, foi lançado o Ubuntu Control Center que integra várias serviços do Ubuntu em um mesmo local e também o Ubuntu Tweak.  A comunidade está sempre disposta a ajudar pelos fóruns e o IRC. Aliás, tive um problema com o meu som que não funcionava na parte frontal e encontrei alguém já disposto a me ajudar no canal #ubuntu-br no freenode.net .  Depois de quebrar um pouco a cabeça, descobri o problema, que teve uma solução bem simples.

O gerenciador de pacotes apt-get é  bem rápido, mas muitos usuários dizem que se comparado com o yum, do fedora ele é beeem mais rápido.  Bom, pode ser que no passado o yum era mais lento, mas atualmente não percebi grandes diferenças Achei satisfatório o desempenho dos dois. Os repositórios do programa me impressionaram. Tem software pra tudo lá! É bom saber que se um dia eu precisar, poderia esperar encontrar ele nos repositórios. Mais interessante ainda é launchpad que permite a você criar pacotes para o Ubuntu e disponibilizar para todo mundo. Isso faz falta no fedora, visto que não existe nenhum serviço que permite criar repositários e manter programas nele. Eu, por exemplo, mantenho alguns programas e jogos que empacoto no Open SUSE Build Service, que permite criar pacotes para o fedora, mas nada fornecido pelo comunidade fedora, até onde sei.

Mas nem tudo são flores. Além do problema com o som numa versão de 64 bits que relatei acima, ainda achei três coisas que não me agradaram. A primeira diz respeito a tradução do sistema para o português brasileiro. Houve momentos em que li erros de português ou falta de atenção do tradutor em certos trechos. Acho que seria melhor dizer, falta de atenção mesmo. A questão é que isso não deveria ter passado  em alguma revisão e por ter chegado ao usuário final  dá uma impressão de que a equipe não se importa com a qualidade da tradução feita . Infelizmente, não tenho nenhum screenshot de exemplo aqui, já que não fiquei capturando telas quando via algo assim, mas  encontrei esses erro em alguns lugares e seria bom corrigir. Mas também devo dizer que não foram em muitos, mas o suficiente para me chamar a atenção.

Outro problema chatinho é o painel do GNOME que costuma se desorganizar em algumas sessões. Algumas vezes, preciso abrir um terminal e digitar pkill gnome-panel para corrigir esse problema e não acho uma solução elegante para algo que não deveria acontecer..

O terceiro problema diz respeito ao pacote gmt, um conjunto de ferramentas que utilizo bastante para processamento Geofísico. Geralmente para gerar mapas de anomalias, realizar interpolaçõrd, etc. Quando instalei esse pacote no Ubuntu, percebi que ele não colocou o caminho dos binários para esse programa no meu PATH, fazendo que com que eu tivesse de colocar manualmente editando meu arquivo ~/.bashrc. Houve também um problema de conflito entre pacotes desse mesmo software e não entendi os motivos, mas não era algo essencial, se é que era necessário. Fora isso, instalei, coloquei no PATH e tudo funcionou sem problemas.

Assim, esse pouco tempo  usando o Ubuntu como padrão no meu PC  me faz concluir que essa é uma distro que merece realmente se a mais popular entre os usuários, pelo fato de ter um alto investimento em simplicidade  — do ponto de vista de um usuário não experiente com computadores, antes que algum chato venha reclamar :-).  É também uma distro com excelente desempenho, apesar de ter lido críticas dizendo o oposto em alguns lugares. O tempo de boot no meu PC me impressionou.  A verdade é que se tiver de sugerir uma distro para um usuário super leigo eu terei duas sugestões de cara: fedora ou Ubuntu. Mais o Ubuntu do que o fedora ainda, mas também vejo o fedora como uma distro para iniciantes.

Não sei se irei manter o Ubuntu no meu PC é provável que volte para o fedora. Sinto falta dele pelos motivos que citei no primeiro parágrafo, mas com certeza irei manter ele no PC do meu pai que também gostou muito da distro.  Se for o caso de mudar, não considero deixar um dual boot, não curto muito isso. Já mantive Windows e Linux em dual boot no meu PC e acho chato ter de cuidar de dois sistemas operacionais num mesmo PC.

Verdade  seja dita, sou homem de uma distro só.