Begini ceritanya, semenjak saya menggunakan Ubuntu 14.04 ada sedikit masalah si OS dengan notifikasi kondisi baterai. Kondisi baterai saat akan mau habis dan penuh, tidak muncul di notifications tray :(. Lama tidak menemukan solusinya, akhirnya saya mencoba untuk membuat notifikasi sederhana dengan bashscript.
Idenya
Saya perlu mengetahui dulu kondisi baterai dari sistem, mengecek statusnya dengan threshold tertentu, mengirimkan notifikasi terkait status dan menjalankan proses ini secara periodik.
- Mengecek status baterai dengan
BAT=`upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage: | awk '{print $2}' | sed 's/%$//'`
Argumen pertama mengambil informasi baterai dari sistem, lalu saya pipeline ambil nilai persentasenya (grep lalu awk), lalu untuk menghilangkan karakter ‘%’ saya gunakan sed.
- Mengecek threshold dengan logika perbandingan sederhana, misalnya kurang dari 15%
if [[ ${BAT} -le 15 ]]
- Lalu memunculkan notifikasi dengan library bawaan
notify-send
notify-send "Charge battery immediately"
Jika belum ada bisa diinstall dengan cara
sudo apt-get install libnotify-bin
Kodenya
#!/bin/bash function batmon { BAT=`upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage: | awk '{print $2}' | sed 's/%$//'` if [[ ${BAT} -le 15 ]] then notify-send "Charge battery immediately" elif [[ ${BAT} -ge 99 ]] then notify-send "Pull out your charger adapter now" #else notify-send "Its Okay" ${BAT} fi } while true; do batmon sleep 5m done
Disini saya memasukkan script ini ke startup, tiap kali reboot akan dieksekusi. Sehingga saya pasang sleep 5m
untuk dicek tiap 5 menit sekali kondisi baterainya.
Setelah memakai ini, alhamdulillah tidak lupa lagi sama baterai. Terimakasih Bashscript 🙂