Existem diversos aplicativos que você pode instalar e configurar para atender essa necessidade, entre eles:
Mas nesse tutorial vamos mostrar uma forma que nem precisa de software. Todas as informações da sua bateria ficam no diretório: /sys/class/power_supply/BAT[NUM]/
onde o [NUM] é um número que pode ser diferente no seu sistema, use TAB após rodar o comando até a palavra BAT para descobrir . Vamos assumir que é BAT1 , pra obter todas as informações da sua bateria, rode: cat /sys/class/power_supply/BAT1/*
:
marcos@gentoo ~ $ cat /sys/class/power_supply/BAT1/*
85000
45
Normal
2800000
3780000
1260000
692000
547
cat: /sys/class/power_supply/BAT1/device: É um diretório
SAMSUNG Electronics
SR Real Battery
cat: /sys/class/power_supply/BAT1/power: É um diretório
1
123456789
Discharging
cat: /sys/class/power_supply/BAT1/subsystem: É um diretório
Li-ion
Battery
POWER_SUPPLY_NAME=BAT1
POWER_SUPPLY_STATUS=Discharging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=547
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11400000
POWER_SUPPLY_VOLTAGE_NOW=10980000
POWER_SUPPLY_CURRENT_NOW=692000
POWER_SUPPLY_CHARGE_FULL_DESIGN=3780000
POWER_SUPPLY_CHARGE_FULL=2800000
POWER_SUPPLY_CHARGE_NOW=1260000
POWER_SUPPLY_CAPACITY=45
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=SR Real Battery
POWER_SUPPLY_MANUFACTURER=SAMSUNG Electronics
POWER_SUPPLY_SERIAL_NUMBER=123456789
11400000
10980000
Se quiser saber somente em quantos por cento está no momento, use:
cat /sys/class/power_supply/BAT1/capacity
Se quiser saber se está descarregando, use:
cat /sys/class/power_supply/BAT1/status
E assim por diante, cada arquivo dentro do diretório armazena uma informação.
Dica extra
Se estiver usando Polybar, crie um módulo no config do Polybar da seguinte, forma exemplo:
[module/menu]
type = custom/script
exec = ~/.config/polybar/bat.sh
click-left = ~/.config/bat.sh &
format-spacing = 1
Nesse caso, eu use no módulo menu , mas é do tipo script
Obs.: É o único módulo script do meu config, se no seu caso não funcionar, use a condição abaixo num module/script que já exista.
E no arquivo bat.sh
tem o seguinte script, detalhe para o comando notify-send que mostra uma notificação se a bateria estiver menor que 20% , para mais informações sobre notificações no seu desktop veja esse link: LINK
#!/bin/bash
LEVEL=$(cat /sys/class/power_supply/BAT1/capacity)
STATUS=$(cat /sys/class/power_supply/BAT1/status)
if [[ $LEVEL -lt 20 ]] ; then
if [[ "$STATUS" == "Discharging" ]]; then
notify-send --urgency=critical --icon=battery-caution "Bateria baixa ${LEVEL}%" "Descarregando"
fi
fi
A opção && "$STATUS" == "Discharging"
é importante para parar as notificações se você conectar a tomada.
Se quiser, você pode rodar o script em background assim que iniciar sessão, exemplos:
vim $HOME/.config/bspwm/bspwmrc
sh ~/caminho/para/script.sh &
vim $HOME/.config/i3/config
exec_always --no-startup-id $HOME/caminho/para/script.sh &
Ou qualquer outro caso, lembrando que o arquivo ~/.xprofile
pode ser criado se não existir e se você usar LightDM como o script em background também, que funcionará em WMs e GUIs .
Pronto, agora o notebook não desligará mais por falta de energia!😁️