ASUS (asus_wmi), Lenovo (ideapad_laptop) veya ThinkPad gibi markalarda, batarya kontrol entegresi (Embedded Controller/EC) sayesinde, Linux kernel sürücülerine şarj eşiği komutlarını iletecek bir altyapıya sahipmiş.
Ama benim gibi ekonomik cihazı olanlar, (SGIN M17) bütçe dostu bileşenlerinden dolayı, bu özelliğe sahip değillermiş.
Yani bizler Batarya şarj limiti denen donanımsal olayı kullanamıyoruz.
Batarya şarj limiti için bu komutta ki, (BAT0 değişiklik gösterebilir)
$ sudo ls /sys/class/power_supply/BAT0
...
charge_control_start_threshold
charge_control_end_threshold
Dosyalar sizde yoksa, cihazın donanımsal veya sürücü düzeyinde şarj limitleme özelliğinin olmadığını gösterir.
O nedenle /sys/class/power_supply/BAT0 altında ki ilgili kontrol dosyaları bizlerde oluşmazmış.
Yine de batarya sağlığını korumak ve aşırı ısınmayı önlemek için, sınırlıda olsa yapabileceğimiz adımlar yok değildir.
Bu ceplerde de olan Max%80 - Min%20 arasında pil sağlığı mantığıdır.
Görsel veya Sesli Uyarı Sistemi (Yazılımsal Çözüm)
Madem donanımımız şarjı otomatik kesemiyor, pil %80'e ulaştığında size sesli veya görsel bildirim veren ufak bir arka plan betiği (script) kullanabiliriz.
Böylece bilgisayar başındayken fişi kendimiz (elle) çekebiliriz.
Yani hiç yoktan iyidir.😂
nano ~/.local/bin/pil_uyari.sh🔎/bin/ dosyası yoksa oluşturun yada /usr/local/bin altınada da olması lazım
İçine şu kodları yapıştırın.
#!/bin/bash
while true; do
STATUS=$(cat /sys/class/power_supply/BAT0/status)
CAPACITY=$(cat /sys/class/power_supply/BAT0/capacity)
# %80 ve üzeri şarj uyarısı (Prizdeyken)
if [ "$STATUS" = "Charging" ] && [ "$CAPACITY" -ge 80 ]; then
notify-send -u critical "Pil Seviyesi: %${CAPACITY}" "Pil doluyor, lütfen şarj cihazını çıkarın!"
paplay /usr/share/sounds/mate/default/alerts/glass.ogg
fi
# %20 ve altı deşarj uyarısı (Pildeyken)
if [ "$STATUS" = "Discharging" ] && [ "$CAPACITY" -le 20 ]; then
notify-send -u critical "Pil Seviyesi: %${CAPACITY}" "Pil azalıyor, lütfen şarj cihazını takın!"
paplay /usr/share/sounds/mate/default/alerts/sonar.ogg
fi
sleep 60
done
Dosyayı kaydedip çıkın (CTRL+O, Enter, CTRL+X) ve çalıştırılabilir yapın:
$ chmod +x ~/.local/bin/pil_uyari.sh
Bu betiği Başlangıç Uygulamaları (Startup Applications) menüsüne ekleyerek, bilgisayar her açıldığında arka planda çalışmasını sağlayın.
Sistem sesleri için sounds klasörüne bakın, betikte ki sesleride ona göre değiştirebilirsiniz.
$ ls /usr/share/sounds/alsa/
freedesktop/ mate/ sf2/ sf3/
ls /usr/share/sounds/mate/default/alerts/
bark.ogg drip.ogg glass.ogg sonar.ogg
Betiği geçici durdurmak veya kaldırmak için bu komut kullanılabilir.
Ayrıca kaldırmak için başlangıçtan da iptal edilmelidir, ~/.local altında ki betikte silinebilir.
pkill -f pil_uyari.sh

