Script conciso e personalizável para enviar notificações ao seu desktop GNU/Linux se o nível da bateria do seu laptop atingir um certo nível de limite mínimo ou máximo.
Em uso e testado apenas no Debian, executando o GNOME, mas deve trabalhar em outras distritos e ambientes de mesa. O script verificará suas necessidades e informará o que está faltando, ao fazer uma execução manual inicial (consulte as instruções abaixo.)

O que esse script está alcançando?
Prefiro economizar alguns centavos por ano, desconectando coisas que não precisam ser conectadas! Da mesma forma, meu fabricante de laptops também sugere um hábito de carga de 20/80 para manter a bateria nos níveis ótimos.
Eu experimentei carregamento parcial versus carregamento completo e 20/80 parece dar à minha bateria a melhor vida útil.
O ambiente da área de trabalho que estou usando atualmente não parece ter a capacidade do limite de alerta da bateria e meu modelo de laptop não possui os limiares de início/parada no SYSFS.
A maioria das soluções existentes é inchada com os recursos de que não preciso (ou não possui a capacidade de max/personalizações). Eu simplesmente queria um lembrete de notificação para conectar ou remover a energia quando a carga da bateria estiver nos meus níveis preferidos sem precisar olhar continuamente os ícones simbólicos da GUI.
Clone o repositório de um diretório no seu PC, onde o script pode permanecer acessível na terra do usuário (não é necessário root/sudo)
git clone https://github.com/angela-d/battery-max.gitEm seguida, faça uma execução manual, para garantir que esteja funcionando (ele verificará para garantir que seu caminho de morcego seja onde o esperado e as dependências sejam instaladas - ele o solicitará através do terminal se algo estiver errado).
Simplesmente execute o caminho completo para check-battery :
/storage/battery-max/check-battery (Substitua /storage/battery-max para o caminho local no seu sistema, onde check-battery será mantida)
É isso! Configure um cron para automatizar as verificações.
Isso acionará o script para verificar o status da sua bateria no intervalo predefinido que você define
crontab -e Se você deseja que o script seja executado a cada minuto (substitua /storage/battery-max/ para o caminho local em seu sistema):
* * * * * /storage/battery-max/check-batteryObserve que, se você optar por executar isso a cada minuto, considere bloquear o cron de/var/log/syslog, caso contrário, verá tal spam:
28 de dezembro 01:50:01 Debian Cron [28999]: (Angela) CMD (/armazenamento/bateria-max/batimento
Se você deseja simplesmente direcionar as mensagens do CRON para o seu próprio log e não excluí -las completamente (que é o que meu exemplo abaixo fará), especifique SO em /etc/rsyslog.conf
Para esmagar esse registro inútil, você pode executar (opcional) :
pico /etc/rsyslog.confEncontre a linha:
* . * ; auth,authpriv.none -/var/log/syslog Anexar cron , assim:
* . * ; cron,auth,authpriv.none -/var/log/syslogReinicie o rsyslog:
service rsyslog restart Abra check-battery e você verá várias variáveis que você pode ajustar para atender às suas necessidades:
# modify the following to suit
BAT_PATH=/sys/class/power_supply/BAT0/
AVAIL= $( cat $BAT_PATH " capacity " )
MIN=70
MAX=80
NOTIFY_TITLE= " Battery Level Threshold Met "
NOTIFY_MSG= " Battery level is at "
ICON= " battery "
FREQ=15Explicação de variáveis:
/usr/share/icons/[current theme name] ou ~/.local/share/icons/[current theme name]Se você preferir deixar a bateria conectada 24 horas por dia, 7
Além disso, você pode modificar /etc/UPower/UPower.conf e ajustar os valores que também enviarão uma notificação do sistema ( PercentageLow é a taxa na qual uma notificação crítica é enviada):
PercentageLow=10
PercentageCritical=3
PercentageAction=2Sem notificações?
Adicione o seguinte antes dos Crons que interagem com sua GUI em crontab -e para definir seu ambiente de exibição, o que o CRON não tem acesso nativamente:
DISPLAY= " :0.0 "
XAUTHORITY= " /home/your_username/.Xauthority "
XDG_RUNTIME_DIR= " /run/user/1000 "(Todas as 3 variáveis acima podem/não podem ser exigidas pela sua distro - esta formulação é o que funcionou para mim.)
Não adicionei isso ao script, pois tenho outros utilitários personalizados que enviam notificações ao meu desktop e não sinto que é necessário adicionar isso em vários locais.