Correr initscripts em distribuições de Linux baseadas em Debian

Para quem já usa as facilidades do bash_completion, eis mais uma.

Quando é necessário parar, iniciar ou reiniciar serviços, o usual é correr directamente o script:

$ sudo /etc/init.d/script [stop|start|restart|…]

Para facilitar este processo, existe um script em /usr/sbin/invoke-rc.d para correr os initscripts pelo nome, tornando o anterior em:

$ sudo invoke-rc.d script [stop|start|restart|…]

Ora isto é praticamente a mesma coisa, mas tem a vantagem de com o sistema de sugestão podermos completar/listar os scripts disponíveis usando a amiga TAB, bem como completar/listar todas as acções que esse script disponibiliza, seja start, stop, restart, etc.

$ sudo invoke-rc.d [TAB TAB]
acpid etc-setserial openvpn skeleton
acpi-support festival pcmciautils spamassassin
alsa-utils fetchmail postfix ssh
anacron –force postgresql-8.1 stop-bootlogd
apmd gdm powernowd stop-bootlogd-single
apport halt powernowd.early stop-readahead
atd hddtemp pppd-dns stunnel4
avahi-daemon hdparm –query sysklogd
binfmt-support –help –quiet –try-anyway
bluetooth hotkey-setup rc udev
bootclean hplip rc.local umountfs
bootlogd keyboard-setup rcS umountroot
brltty killprocs readahead urandom
console-setup klogd readahead-desktop usplash
courier-authdaemon laptop-mode reboot vbesave
courier-imap linux-restricted-modules-common rmnologin wacom-tools
courier-imap-ssl loopback rsync webfs
cron makedev samba wpa-ifupdown
cupsys module-init-tools screen x11-common
dbus networking sendsigs xserver-xorg-input-wacom
–disclose-deny –no-fallback setserial
dns-clean nvidia-kernel single

$ sudo invoke-rc.d fetchmail [TAB TAB]
awaken debug-run force-reload restart start stop

🙂

Aprender a programar com Ruby – Hackety Hack

Porque no tempo da crescente ubiquidade de máquinas programáveis, saber alguma coisa de programação pode ser uma necessidade importante.

O projecto Hackety Hack pretende fazer crescer o interesse pela programação nos mais jovens. É uma aplicação de ensino tutorial gratuita. Infelizmente a versão disponível para já é apenas para Windows, mas o autor irá lançar versões para MacOSX e Linux assim que atingir a versão 1.0 (está na versão 0.5), estando também a por a hipótese de a libertar sob uma licença Open Source nessa altura.

Nesta imagem é possível ver o tutor a escuro no topo e a parte de trabalho em baixo:

cap-tutor1.png
(clickar para ver mais imagens)

Resta esperar por essa altura, quem tenha irmão mais novos ou filhos cheios de vontade de estar ao computador, é esta uma boa oportunidade de juntar o educativo ao agradável e dar-lhes uma ferramenta formidável para poderem usufruir melhor do computador.

O passo seguinte na evolução desses jovens será instalar um sistema operativo a sério e quem sabe até participar na fantástica comunidade de Software Livre. 🙂

ssh + bash + bash_completion

O Ubuntu traz por omissão o cliente de ssh configurado para guardar uma hash da informação de ligação, em vez de guardar o endereço IP e o host.
Isto deve-se a questões de segurança e privacidade. Se por algum motivo a máquina for comprometida, é difícil saber a que outras máquinas o utilizador estabelecia ligações e onde quiçá tinha acesso por chave sem password.
Isto é importante, porém infelizmente retira uma funcionalidade interessante para quem precisa de estabelecer certas ligações com alguma frequência e para quem o TAB é tal vício que já se usa em todo o lado. 🙂
Para quem estiver seguro que esta informação é irrelevante, quer pela facilidade de ser descoberta por outros meios, quer pela segurança da rede em que está inserido e pretenda facilitar o dia a dia, poderá adicionar ao ficheiro de configuração $HOME/.ssh/config a linha:

HashKnownHosts no

Desta forma no ficheiro $HOME/.ssh/known_hosts passará a constar o IP e o hostname das máquinas para onde são feitas ligações, permitindo à funcionalidade acrescida do bash_completion completar os nomes dos hosts como é comum com outros comandos na bash.

As funcionalidade dos scripts de sugestão avançada também não estão activos de raiz, sendo necessário tirar o # das linhas finais do ficheiro $HOME/.bashrc para que se leia:

if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

GIMP – Sugestão de arrumação do interface

Acho que é do senso comum que o GIMP precisa de uma volta no interface inicial, na arrumação das ferramentas, sei lá. Não é apelativo à partida. Eu uso-o com frequência e há tantos anos que me é indiferente (não sou um utilizador avançado, mas nem era necessário referir isso ehehe 😛 ), mas verifico que há todo um potencial não reconhecido dado o modo menos… arrumado do interface.

Ao acompanhar o video blog de Bert Monroy sobre técnicas de desenho onde usa o Photoshop (ou o Ilustrator), para ver se aprendo alguma coisa (a ferramenta é irrelevante, interessam-me as técnicas e teoria, gostava de encontrar mais oferta deste género, “straight to the point” e clara), verifico que o GIMP tem muitas ferramentas análogas às mostradas no Photoshop. As que possam faltar talvez se possam atingir com conjugações das disponíveis. Não quero de forma alguma comparar directamente as duas aplicações, até porque nem é essa a ideia deste post. 🙂

O que pretendo expor é um ensaio no arranjo do interface do GIMP para optimizar o espaço e disponibilizar o máximo das funcionalidades do GIMP, por vezes escondidas em diálogos não activos na configuração inicial.

Ferramentas na janela principal (todas as disponíveis activas):
gimp-janela-princial.png

Janelas extra, com todos os diálogos disponíveis activos (parte clara da imagem) e facilmente acessíveis, como o motor dos pincéis por exemplo (importante e escondido na configuração inicial):
gimp-janelas-extra.png

Assim tendo ambas as janelas a um canto, fica mais espaço disponível para a imagem do que usando as duas janelas verticais do início e ficam mais funcionalidades expostas.

Eis uma boa altura para começar a usar Linux

Com o anúncio do ataque ao software livre, surge uma óptima oportunidade para criar uma onda de mudança para software livre.
O artigo foi coberto na Slashdot, e também me parece ser uma opinião generalizada que havendo um ataque da MSFT ao software livre, há vários detentores de outras patentes que entram na luta contra a MSFT. Será que o software livre é uma ameaça à MSFT? Isto parece provar que sim. Miaúfa! 😛

As alternativas para libertar de vez o computador desta empresa foleira são reais. Quem gosta de usar um produto de uma empresa que não tem consideração pelos seus utilizadores? Que considera que todos são criminosos à partida? Que espia os utilizadores através de ferramentas pouco claras como o WGA?

Para quê actualizar o conjunto de ferramentas de produtividade para descobrir que os novos ficheiros criados por essas ferramentas são incompatíveis com as versões anteriores? E possivelmente com versões futuras, tornando os documentos criados hoje perdidos amanhã.

As alternativas não são suficientemente boas? Não são completas em termos de funcionalidades? Ainda bem! Afinal se tudo estivesse inventado (e aproveito a alusão a invenção para sugerir a visualização do documentário Gizmo) a vida era uma seca! E quais são algumas vantagens em usar alternativas baseadas em Software Livre?

A participação!

A possibilidade de participar activamente no desenvolvimento das aplicações, sugerindo novas funcionalidades, ajudando na sua tradução, submetendo os erros encontrados para correcção, e até integrando a equipa de desenvolvimento!

A comunidade!

O acesso a um rol diverso de comunidades de utilizadores e programadores em que se conversa sobre os mais variados assuntos, desde questões relacionadas directamente com o núcleo de criação dessa comunidade até outras questões periféricas ou sem relação alguma. A entreajuda dos membros dessas comunidades.

Uma visão da computação como algo global, distribuído, livre.

O computador é um aparelho formidável, que começou a mudar o mundo com as possibilidades de criou, que graças à Web nos permitiu aceder a serviços, informação, comunidades que seriam impensáveis atingir alguns anos antes.

O computador é uma ferramenta fantástica para auxiliar o trabalho e o lazer, a criação e publicação de conteúdo, o acesso a conteúdo de terceiros, a conjugação deste com o primeiro.

O computador é uma ferramenta para o utilizador, é do utilizador, e pela sua natureza flexível e abrangente, não pode ser considerado um electrodoméstico. Ele é multi-funcional! Serve para potenciar as nossas capacidades e não para as limitar.

Ter toda esta capacidade numa pequena caixa no nosso escritório não chega para usufruir dela.

O monopólio exercido pela Microsoft é abusado a cada lançamento de novo sistema operativo. Como se não bastassem os preços exorbitantes que praticam, criam várias versões do mesmo sistema operativo para iludir os consumidores e apenas colocam as funcionalidades que justificam o novo lançamento na versão mais cara. Criam algo tão pouco optimizado que obriga o consumidor a comprar um novo computador se quiser fazer a actualização. E isto é apenas o sistema operativo, que é suposto garantir ao computador a sua funcionalidade básica.

Existem alternativas! 🙂 Linux ou *BSD por exemplo.

As aplicações não estão finalizadas? O que existe, funciona suficientemente bem para muitos usos. A cada dia são criadas novas funcionalidades e corrigidos os erros que se descubram (a programação não é uma ciência exacta 🙂 ). Isso é uma garantia de evolução, inovação, desenvolvimento.

Usando uma distribuição de Linux moderna temos uma nova versão a cada 6 meses ou 1 ano, em vez de 5 ou mais anos que a MSFT demorou com a sua ultima versão do Windows.
Na maioria dos casos basta um clique para actualizar para a nova versão. E graças à Internet temos o sistema totalmente actualizado com a última versão mais estável das várias aplicações.
Ninguém desconfia de nós, o software é livre, podemos usá-lo à vontade, sem restrições ou alguém a espiar-nos achando que somos criminosos.

Está à vista a necessidade de libertar os computadores presos a software proprietário, a empresas que abusam do seu monopólio, que não colocam os utilizadores no topo das prioridades quando desenvolvem o software.

O software menos funcional de hoje, será o software ideal amanhã, com a participação dos seus utilizadores no seu melhoramento.

A mudança começa com a simples inserção de um CD de instalação de uma distribuição de software Livre na unidade de CD-ROM, e continua com a participação activa na comunidade fantástica que contribui para a criação e desenvolvimento dessa distribuição. 😀