Cytat:
Napisany przez andy
Poleceniem:
Kod:
acpi -b | cut -b 21-23 | tr -d [:space:]
uzyskam % naładowania bakterii.
Wystarczy teraz, że w /etc/pm/power.d umieszczę skrypt który się uruchomi i w pętli i będzie wykonywał co 5-10 minut? Katalog config.d zawiera pliki które są uruchamiane m. in. kiedy wyjmę/włożę baterię?
1. Skrypt się uruchamia w momencie wpięcia bakterii;
2. Zmienna battery ma wartość 0;
3. W pętli wykonuje się polecenie: acpi -b | cut -b 21-23 | tr -d [:space ![:-]](images/smilies/].gif) co powiedzmy 5-10 minut. Warunek wyjścia z pętli to wartość polecenia acpi >= 45;
4. W momencie wyjścia z pętli (battery >= 45) wykona się np.: notify-send "Poziom bakterii 45%!"
Optymalnie?
Poniżej szkielecik skryptu:
|
Jeżeli chcesz skrypt wykonywany co pewien okres czasu to możesz zrobić to w cronie, ale jeżeli to z jakiegoś powodu się nie powiedzie to zawsze możesz zrobić to mniej więcej tak :
Kod:
while true
do
wynik=$(acpi | grep blablabla)
ac=(tutaj instrukcje wykrywające podłączoną łądowarkę)
if [ wynik >= 45 ] && [ ac = podłączona ]
then
notify-send "odłącz ładowarkę"
fi
sleep 600
done
i odpalić w autostarcie.
pamiętaj że notify-send musi być odpalane jako użytkownik który ma otwartą sesję X, dobrze też byłoby przedłużyć trwanie komunikatu, bo 5 sekund można przegapić.
niestety nie pomogę ze zdarzeniami wzwiązanymi z baterią, bo mam stacjonarkę i nawet nie mam zainstalowanych pm-utils (systemd je zastąpił).
ps. warunek if tak napisany na 90% nie zadziała, trzeba napisac po bashowemu