Risposte:
Installa il acpipacchetto. Ora inseriscilo return0whencharging.she rendilo eseguibile:
#!/bin/sh
acpi -V
if cat /proc/acpi/battery/BAT1/state | grep "charging state" | grep -vE ":[\t ]*charging$"; then
exit 1
else
exit 0
fi
Se echo -e "\a"emette un suono, avvia questo quando vuoi vedere lo stato della batteria:
watch --beep return0whencharging.sh
Se non fa alcun suono o se si vuole una notifica e un allarme di meglio di qualsiasi orologio in grado di fornire, installare libnotify-bine mpved utilizzare questo, invece:
while return0whencharging.sh; do sleep 1; done; notify-send "Finished charging" && mpv -loop /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga
Spiegazione :
Se guardi alla pagina man di grep puoi vedere che -vinverte la corrispondenza, e quindi il codice di ritorno / stato. -Esignifica che è un'espressione regolare. il [\t ]in regex (espressione regolare) significa "tab o spazio". La stella seguente significa "tab o spazio 0 o più volte". Il "$" finale indica che deve corrispondere alla fine della riga. Il finale grepindica che le righe NON terminano con un ":", un numero qualsiasi di schede o spazi e quindi "carica" e la fine della linea dovrebbe grepuscire con il codice di stato 0. Ciò significa che greprestituirà 1 fintanto che il computer è ricarica. La ifeseguirà essa la prima filiale, quando il codice di stato è 0,grepexit 1quando grep esce da 0 e exit 0quando grep esiste diverso da zero.
return0whencharging.shfile? O se lo creo, c'è un posto specifico in cui devo salvarlo?
Ho scritto una piccola sceneggiatura che lo farà:
script:
#!/usr/bin/env bash
while true
do
export DISPLAY=:0.0
battery_percent=$(acpi -b | grep -P -o '[0-9]+(?=%)')
if on_ac_power; then
if [ "$battery_percent" -gt 95 ]; then
notify-send -i "$PWD/batteryfull.png" "Battery full." "Level: ${battery_percent}% "
fi
fi
sleep 300 # (5 minutes)
done
Installazione:
Correre:
sudo apt-get install acpi
git clone https://github.com/hg8/battery-full-notification.git
cd battery-full-notification/
chmod +x batteryfull.sh
Copia lo script nella ~/bincartella ( perché la cartella ~ / bin? ):
cp batteryfull.* ~/bin
Oppure copialo /usr/local/binse desideri che sia disponibile per tutti gli utenti sul tuo computer:
cp batteryfull.* /usr/local/bin
Quindi aggiungi lo batteryfull.shscript come applicazione di avvio: