Introdução
Muitas das vezes eu ligo meu notebook e em um momento de distração, eu esqueço de conectá-lo na tomada. No KDE eu fucei um pouco e não encontrei algum aplicativo que me avisasse quando a bateria está sendo usada. Eu sei que existe “Guidance Power Manager”, mas o problema é que ele só mostra a quantidade restante da bateria.
O que eu precisava era de um aplicativo que me mostrasse em 5 em 5 minutos, por exemplo, que a bateria está sendo descarregada, somente para efeito de lembrete mesmo.
Informações da bateria
As informações da bateria estão em 2 arquivos: info e status que estão no diretório /proc/acpi/battery/BAT, como podemos ver abaixo:
[daemonio @ darkstar :~ ] cat /proc/acpi/battery/BAT/info present: yes design capacity: 62160 mWh last full capacity: 55660 mWh battery technology: rechargeable design voltage: 14800 mV design capacity warning: 2960 mWh design capacity low: 296 mWh capacity granularity 1: 10 mWh capacity granularity 2: 10 mWh model number: LIP909 serial number: battery type: LIon OEM info: Pegatron [daemonio @ darkstar :~ ] cat /proc/acpi/battery/BAT/state present: yes capacity state: ok charging state: charging present rate: 4937 mW remaining capacity: 56180 mWh present voltage: 16794 mV
As saídas importantes foram destacadas e são elas:
- Last Full Capacity: É a capacidade total de sua bateria. Observe que esse valor é sempre menor ou igual ao valor em “Design Capacity” que é a capacidade total que a bateria tinha quando ela estava nova. Quanto mais a bateria é usada, mais o valor de “Last Full Capacity” diminui. Quando esse valor chegar a menos de 50% da capacidade total da bateria nova, talvez seja hora de comprar uma nova bateria[1].
- Charging State: Esse valor é igual a charging quando a bateria está carregando ou discharging quando ela está descarregando.
- Remaining Capacity: É quanto a bateria está carregada. É baseando-se nesse valor que alguns aplicativos calculam quanto tempo a bateria sustentará o notebook.
O Script
O script está em bash e utiliza o programa inotify para abrir uma janelinha perto do relógio a fim de mostrar que a bateria está sendo usada.
A lógica do script é a seguinte: Se o valor de “Charging State” é discharging E o valor de “Remaining Capacity” é menor ou igual a 90% de “Last Full Capacity”, então o script lança uma notificação.
Em outras palavras: Se a batera está sendo descarregada E o valor de carga que ela tem é menor ou igual 90% do valor total, então lança uma notificação.
Download
Abaixo o link para download do script. Após download, retire a extensão .docx e dê permissão de execução para ele.
Download: monitorar_bateria.sh
Também tem a versão no pastebin: monitorar_bateria.sh
Uso
Para usar o script é só executá-lo no terminal. Ele irá verificar a cada 5 minutos se a bateria está sendo usada. Aconselho colocar o script em background para ele não travar seu terminal.
Eu pessoalmente copio esse script para a pasta .kde/Autostart para que ele se inicie junto com o KDE e fique executando como um daemon.
$ mv monitorar_bateria.sh ~/.kde/Autostart
<O script será executado na próxima iniciação do KDE>
Referências
[1] http://dartarrow.net/battery-capacity-details-on-a-linux-laptop/66
Os arquivos provavelmente mudaram de lugar em sua distribuição, mas as informações continuam lá. Faça um:
$ ls /proc/acpi/battery/BAT*
que alguns arquivos aparecerão. Na minha distro, eles são: info (com as capacidades), state (com o estado – charging ou não).