Tenho certeza de que o script a seguir não é o ideal e pode até ter erros que não consigo ver. Sou muito amador em programação e só faço isso como hobby. Terei prazer em aceitar críticas ou sugestões! :)
Script usando acpi
#!/bin/bash
# A script to make an alarm go off at desired battery thresholds
### Variables
BAT=$(acpi | grep -o [[:digit:]][[:digit:]] | head -1)
LOW_LVL=35
CHARG=$(acpi | grep -o "Charging")
CHARGING=0
### Functions
charging()
{
### Checks wether the computer is charging (1) or not (0)
if [ "$CHARG 1" = "Charging 1" ]; then
CHARGING=1
else CHARGING=0
fi
echo $CHARGING
}
alarm_connect()
{
notify-send -i /usr/share/icons/gnome/48x48/status/battery-low.png "Battery under 35%" "Charge it"
paplay /usr/share/sounds/freedesktop/stereo/complete.oga
}
### Main
while true
do
if [ $(charging) = 0 ]; then
if [ $BAT -le $LOW_LVL ]; then
$(alarm_connect)
fi
sleep 1m
done
Script usando upower
#!/bin/bash
# A script to make an alarm go off at desired battery thresholds
### Variables
BAT=$(upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage" | grep -o [[:digit:]][[:digit:]])
LOW_LVL=25
CHARG=$(upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage" | grep -o "\ charging")
CHARGING=0
### Functions
charging()
{
### Checks wether the computer is charging (1) or not (0)
if [ "$CHARG" = " charging" ]; then
CHARGING=1
else CHARGING=0
fi
echo $CHARGING
}
alarm_connect()
{
paplay /usr/share/sounds/freedesktop/stereo/complete.oga
}
### Main
while true
do
if [ $(charging) = 0 ]; then
if [ $BAT -le $LOW_LVL ]; then
$(alarm_connect)
fi
fi
sleep 60
done
Você pode substituir conforme desejado:
- As variáveis
LOW_LVL
para modificar a% da bateria na qual deseja que o alarme seja acionado. - O som e o ícone que aparecem com o
notify-send
, basta verificar o caminho até eles e você pode encontrar um número diversificado de opções lá. - O
sleep
tempo. Exemplo:sleep 60
=sleep 1m
.
Usar o crontab e fechar o terminal também fecha o processo cron que está aberto?
Não, fechar o terminal não parará o trabalho cron
. Então, se é assim que você quer usá-lo, execute-o a partir do terminal e feche-o quando terminar.