Recentemente comprei um
netbook LG X110 que veio de fábrica com Windows XP instalado. Abri espaço para o
Linux,
instalei o
Fedora 12 e me surpreendi muito com o resultado. Todo o hardware foi reconhecido, incluindo a webcam e as teclas
especiais para aumentar volume, brilho de tela, ligar/desligar wireless etc. A satisfação só não foi completa por causa de um único problema.
Nada
grave, é verdade, mas muito chato. Quando a
fonte era desconectada do netbook, o gerenciador de energia detectava que a
bateria
estava com a carga criticamente baixa e disparava a ação programada (
suspender,
hibernar ou
desligar,
dependendo da configuração). O curioso é que a mensagem de alerta dizia que a bateria estava com mais de 90% de carga, mas que só
duraria 2
minutos, o que era totalmente incoerente.
Eu não sabia muita coisa sobre gerenciamento de energia, mas sabia que o ACPI estava envolvido, então fui estudar um pouco sobre como
ele
funciona e como o Linux o trata. Descobri, entre outras coisas, que o
ACPI funciona em três camadas: hardware, sistema
operacional
e software. No Linux, a camada de software padrão é fornecida pelo daemon acpid, que deve ser configurado para executar ações quando o
kernel
identificar um evento disparado pelo hardware. No
GNOME, que é o ambiente desktop que eu utilizo, esse papel é feito pelo
gnome-power-manager. Então tentei modificar a configuração do acpid para que ele impedisse o gnome-power-manager de
acionar
a ação de bateria criticamente baixa quando a fonte fosse desconectada, mas não foi possível.
O gnome-power-manager identifica o evento de ACPI assim que ele ocorre, disparando a ação imediatamente. Eu teria que descobrir se era
possível alterar a configuração do gnome-power-manager de forma que ele não apresentasse mais esse comportamento errôneo, mas ao
acessar
as preferências de gerenciamento de energia (Sistema / Preferências / Gerenciamento de energia) não havia nenhuma opção que me
ajudasse.
Foi só então que me deu aquele "estalo", e me lembrei da filosofia do GNOME, que diz que tudo nesse ambiente desktop deve ser
desenvolvido
pensando no usuário como se fosse um completo idiota que vai estragar tudo se tiver a oportunidade, portanto todas as configurações
avançadas
ficam escondidas debaixo do GConf.
Abri então o gconf-editor (Aplicativos / Sistema / Editor de configurações), localizei as chaves de configuração do gnome-power-manager e
descobri que a solução para o meu problema era alterar o valor da chave apps / gnome-power-manager / general / use_time_for_policy
para false.
Essa opção diz exatamente qual dos indicadores deve ser considerado na hora de analisar se alguma ação deve ser disparada, se a carga
da
bateria ou se o tempo de carga estimado. Após essa alteração, o gnome-power-manager passou a considerar a carga total da bateria e,
como esse
valor era sempre medido corretamente, o problema foi resolvido. Desconectei a fonte de energia e o netbook permaneceu ligado sem emitir
nenhum alerta.
Depois disso, só por curiosidade, fui verificar como poderia fazer a mesma coisa pela linha de comando (sim, eu confesso, adoro linha de
comando). Eis a solução:
gconftool-2 --set --type boolean /apps/gnome-power-manager/general/use_time_for_policy false
Para que essa opção seja automaticamente ativada para os novos usuários que forem criados no sistema, basta criar, como root, o arquivo
/etc/skel/.gconf/apps/gnome-power-manager/general/%gconf.xml e inserir o seguinte conteúdo:
<?xml version ="1.0"?>
<gconf>
<entry name="use_time_for_policy" type="bool" value="false"/>
</gconf>
Fonte:
Davidson Paulo - Uma mente inquieta