Pognation

May the POG be with you!

Desligando o Linux com o botão Power do Computador

Essa já não é novidade nenhuma e eu tenho plena certeza de que há mais meios de configurar esta tarefa porém nenhuma mais POG do que esta.

Na realidade não tão POG, pois o nosso amigo Gnome utiliza-se da mesma técnica que o Paulo Matias usou para realizar esta simples tarefa. Então vamos à grande explicação com um pouco de história.

Estava eu, sentado na frente do computador, quando tive a brilhante idéia de que meu Linux não tinha algum monitor do botão de power, e sempre conversando com o Paulo via Jabber ou IRC terminei falando pra ele, pois num teste recente pude conferir que o FreeBSD já vinha com essa opção ativada por padrão.

O que me assustou foi que ele já veio falando todos os métodos de como montar a tal e já tendo em mente todas as possíveis linguagens de programação (na mente dele Python e C) logo pensando no quesito de que o arquivo iria ficar aberto pelo tempo que o computador ficasse ligado, o Paulo levou em consideração criar o programa na linguagem C.

A técnica se baseia em ter um arquivo aberto sendo lido sempre para que quando você apertar o botão de liga/desliga do computador (não o do teclado) o mesmo acesse o arquivo e desligue o computador.

Eu realizei os testes no meu Archlinux, e como o Paulo também usa Archlinux, tudo ocorreu como esperado, vamos então a instalação e configuração de tal script.

A instalação dá-se de maneira bem simples, copie e cole o código abaixo em um arquivo com nome de acpi-power-button-monitor.c em qualquer lugar de seu computador (no meu caso eu copiei na ~/).

acpi-power-button-monitor.c

/* ACPI power button monitor.
* Copyright (c) 2008 Paulo Matias
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
*   1. Redistributions of source code must retain the above copyright
*      notice, this list of conditions and the following disclaimer.
*   2. Redistributions in binary form must reproduce the above copyright
*      notice, this list of conditions and the following disclaimer in the
*      documentation and/or other materials provided with the distribution.
*   3. The name of the author may not be used to endorse or promote
*      products derived from this software without specific prior written
*      permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

int main() {
        static char buf[128];
        FILE *fp;

        assert((fp = fopen(”/proc/acpi/event”, “r”)));

        while(1) {
                fgets(buf, sizeof(buf), fp);
                if(!strcmp(strtok(buf, ” “), “button/power”)) {
                        system(”halt”);
                        break;
                }
        }

        fclose(fp);

        return 0;
}

Depois só precisamos compilar o código com o seguinte comando:

$ gcc -Os acpi-power-button-monitor.c -o acpi-power-button-monitor

E então copiar o arquivo compilado (programa já pronto para execução) para a pasta padrão dos programas da sua distribuição Linux. No caso do Archlinux esta pasta fica em /usr/bin:

# mv acpi-power-button-monitor /usr/bin
# chmod 755 /usr/bin/acpi-power-button-monitor

E depois também precisamos chamar este programa na inicialização do Linux, modificando no arquivo /etc/rc.local no caso do Archlinux:

# vi /etc/rc.local

#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
/usr/bin/acpi-power-button-monitor &

Com o programa sendo inicializado juntamente com o Linux, podemos então simplesmente testá-lo a partir da próxima vez que ligarmos o computador.

Lembrando que o mesmo consome 380Bytes de memória ram, irrisório para os computadores de hoje.

Obrigado e até a próxima.

Julho 2, 2008 Escrito por pognation | Archlinux, Linux | , , , , , , | Não Há Comentários

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!
…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe - quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!

Junho 24, 2008 Escrito por pognation | Off Topic | | Não Há Comentários

AutoFS: Montando seus drivers automaticamente no Archlinux

Assim como eu traduzi o artigo da wiki (http://wiki.archlinux.org/index.php/AutoFS_HowTo) para o português em (http://wiki.archlinux-br.org/Autofs) também vou adicionar um post aqui (para me lembrar em um futuro distante claramente) sobre o AutoFS.

O que é o AutoFS?
AutoFS é um pacote que suporta a montagem/desmontagem de drivers automaticamente, ou seja, ele monta e desmonta os devices automaticamente quando você tenta acessá-los. Com ele é possível montar CDs, DVDs, disquetes, Pendrivers e mais alguns.

Instalação e configuração:
Assim como a grande maioria dos pacotes do Archlinux, vamos utilizar o pacman para instalação:

# pacman -Sy autofs

01 - Edite o arquivo:

/etc/autofs/auto.master

Apague todo o conteúdo do arquivo e adicione a seguinte linha:

/media /etc/autofs/auto.media

Obs: Não esqueça de criar uma linha extra no arquivo (aperte ENTER depois da útlima palavra (media)). Se você não adicionar uma linha em branco depois da linha acima, a daemon do AutoFS não vai funcionar corretamente.

Se, no final deste artigo, o AutoFS não desmontar corretamente seus drivers, substitua a linha acima por esta:

/media /etc/autofs/auto.media –timeout=3

02 - Crie o arquivo /etc/autofs/auto.media com o seguinte conteúdo:

cdrom -fstype=iso9660,ro,nodev,nosuid :/dev/cdrom
floppy -fstype=auto,async,nodev,nosuid,umask=000 :/dev/fl
usbstick -fstype=auto,async,nodev,nosuid,umask=000 :/dev/sda1

Talvez você precise alterar os devices (isso varia de acordo com cada sistema). Se você está usando um driver de DVD-ROM, provavelmente vai precisar de suporte para UDF, sendo assim mude a linha do cd escrita acima para:

cdrom -fstype=auto,ro,nodev,nosuid :/dev/cdrom

03 - Crie o arquivo:

/etc/default/autofs

e adicione a linha abaixo:

TIMEOUT=1

04 - Abra o arquivo:

/etc/conf.d/autofs

e edite a linha daemonoptions:

daemonoptions=”-g”

05 - Crie a pasta /media:

# mkdir /media

06 - Carregue o módulo autofs4:

# modprobe autofs4

07 - Suba a daemon do autofs:

# /etc/rc.d/autofs start

Para inicializar normalmente a daemon em todo boot, adicione a mesma e o módulo nas suas respectivas arrays no arquivo /etc/rc.conf.
Para mais dúvidas ou possíveis problemas, visite a wiki oficial do archlinux-br http://wiki.archlinux-br.org/Autofs.

Até mais.

Junho 4, 2008 Escrito por pognation | Archlinux, Linux | , , , , , , | Não Há Comentários

Configurando o MPD no Archlinux com Sonata

Eu acredito que assim como uma grande maioria das pessoas que gostam de ouvir músicas no computador eu também sofro sofria em manter um player aberto ali na tray pedindo para ser clicado e ficava me perguntando qual a próxima vez que eu iria apertar next pra ele tocar.

Procurando um pouco (não tanto quanto eu pensava porque eu já tinha uma “idéia” de qual programa usar, porém ainda não tinha “tomado coragem” para procourar como configurar o mesmo) terminei achando um jeito fácil de manipular as músicas e deixá-las tocando em background sem influênciar nada. Nem mesmo se o X estivesse ou não ligado. E de quebra ainda ganhei um servidor para ouvir música de onde eu estiver no planeta (mas não vou extender esse artigo à essas configurações).

O milagroso programa se chama MPD (Music Player Daemon) isso mesmo, uma daemon para tocar as músicas de acordo com sua playlist criada antecipadamente. O melhor de toda a história é que, assim como a grande maioria das daemons criadas para o Linux o MPD também tem vários clientes gráficos pra manipulá-lo.

Vou escrever aqui os passos que segui para instalação e configuração do MPD com o cliente Sonata que escolhi porque é feito em gtk (só uso o mesmo pra manipulação de playlists e por músicas para tocar).

01 - Instalando os pacotes nescessários:

# pacman -S mpd sonata

02 - Criando os arquivos de configuração:

O arquivo principal para configuração do mpd é o /etc/mpd.conf e, quando instalamos o MDP, já vem um arquivo de configuração exemplo (/etc/mpd.conf.example), então podemos usar o mesmo de base:

# cp /etc/mpd.conf.example /etc/mpd.conf
# vi /etc/mpd.conf

Agora com nosso arquivo de configuração já quase pronto podemos fazer as edições finais:

Descomente a linha:

#music_directory “path_to_yoru_music_collection”

E a edit por exemplo para:

music_directory “~/.mpd”

Nessa pasta é onde colocaremos todos os links simbólicos para as pastas onde realmente estão nosssas músicas. Ficando por exemplo assim:

$ cd ~/.mpd
$ ln -s ~/mp3 mp3

Depois de adicionar todas as patas (somente as raízes) como links simbólicos dentro da pasta ~/.mpd, então podemos criar nosso banco de dados:

# mpd –create-db

O script de criação irá adicionar todas as músicas que estão linkadas simbolicamente dentro da pasta ~/.mpd.

03 - Subindo a daemon e chamando o Sonata:

# /etc/rc.d/mpd start
$ sonata &

Após o Sonata estar aberto, ele se conectará automaticamente ao MPD, vá na aba Library, escolha quais arquivos (serão listados os links simbólicos como pastas) quer adiconar à playlist, botão direito com eles selecionados e ADD, logo após, vá na aba current (playlist das músicas que estão/irão tocando/tocar) e clique duas vezes em qualquer arquivo para começar.

Você também pode apertar com o botão direito na playlist e escolher as opções Repeat e Random para ele ficar tocando aleatóriamente(Random) todas as músicas da sua playlist repetidamente(Repeat).

Depois de começar a tocar você pode escolher se fica ou não com o Sonata aberto na tray, eu preferi fechar o meu e, independente disso, o MPD fica tocando as músicas em background, mesmo eu desligando o X. Perfeito não?

Até a próxima.

Maio 31, 2008 Escrito por pognation | Archlinux, Linux | , , , , , | Não Há Comentários

Bug na ataulização da libgpm do Arch Linux

Bem, depois de um tempo afastado (motivos de força mair me fizeram sair do Archlinux e ir para algumas outras distros tentar a vida), e pelo menos motivo, quando voltei ao Archlinux, percebi que havia algumas modificações nos pacotes durante a instalação, e depois da mesma (instalação) ocorreram alguns bugs, um deles é recente e como não sei se ainda foi arrumado e aconteceu com mais pesosas, vou postar aqui.

O bug é um problema que ocorre durante a atualização da libgpm, e já vi bastante gente o “resolvendo” simplesmente colocando ela na blacklist dos pacotes à serem atualizados.

Porém entrando no canal oficial de suporte percebi que já haviam enfrentado o mesmo problema de uma maneira bem simples e de melhor resultado: reinstalando o pacote (mas sem reinstalar todas as dependencias), ficando assim o comando do nosso velho amigo pacman:

# pacman -Rd gpm && pacman -S gpm

Depois de executar esse comando o pacman vai simplesmente remover e instalar novamente o pacote já atualizado que estará funcionando normalmente.

Maio 31, 2008 Escrito por pognation | Archlinux, Bugs, Linux | , , , , | 2 Comentários