Sebagai pengguna Linux dengan laptop yang bisa dibilang jadul, kadang saat sedang bekerja atau asik mengerjakan sesuatu dengan laptop ini, battery tiba tiba drop tanpa ada notifikasi dan langsung mati begitu saja, padahal battery laptop Asus K401UQK saya ini sudah saya ganti baru, entah karena kualitasnya yang jelek atau gimana, saya kurang paham.
Nah untuk mengakali hal tersebut, saya mengubah beberapa konfigurasi default seperti misalkan mengatur agar laptop tidak langsung mati di 2% (default) namun masuk ke hibernate di 15%, memberikan notifikasi otomatis di 17% dan menjadwalkan pengecekan battery setiap menit agar tidak kelewatan.
Hasilnya, laptop saya sekarang bisa dibilang lebih sopan dalam memberi waktu sebelum mati atau hibernate. Nah sebagai dokumentasi agar saya tidak lupa, sekaligus sharing untuk teman teman yang mungkin terkendala hal yang sama, berikut adalah langkah konfigurasinya.
Konfigurasi Yang Saya Terapkan
| Level Baterai | Aksi |
|---|---|
| 40% | Notifikasi “Baterai Rendah” dari sistem |
| 25% | Notifikasi “Baterai Kritis” dari sistem |
| 17% | Notifikasi kustom: “Laptop akan hibernate di 15%” |
| 15% | Hibernate otomatis (data tersimpan ke disk) |
Dengan konfigurasi ini, saya punya waktu yang cukup banyak untuk menyimpan pekerjaan dan mencari charger sebelum laptop ini “pingsan”.
Langkah Konfigurasi
Langkah 1. Pertama pastikan dulu bahwa laptop mendukung fitur hibernate dengan perintah :
cat /sys/power/state
Jika outputnya ada kata disk, misalkan freeze mem disk, maka laptop tersebut sudah mendukung.

Langkah 2. Cek ukuran SWAP, dan pastikan SWAP lebih besar dari RAM.

Langkah 3. Nah selanjutnya kita ubah konfigurasi baterai yang ada di /etc/UPower/UPower.conf.

Saya ubah nilainya menjadi :
PercentageLow=40
PercentageCritical=25
PercentageAction=15

Nah ini tentu bisa disesuaikan dengan kebutuhan kamu ya. Jadi jangan terlalu terpaku pada artikel ini.
Penjelasannya :
PercentageLow=40> Notifikasi “Baterai Rendah” mulai di 40%PercentageCritical=25> Notifikasi “Baterai Kritis” mulai di 25%PercentageAction=15> Tindakan hibernate dilakukan di 15%
Langkah 4. Setelah itu silahkan restart service-nya.
sudo systemctl restart upower
Dan selesai, sampai sini, laptop akan memilki behavior sesuai yang kita tentukan barusan, notifikasi battery rendah akan ada di 40%, critical di 25% dan actions ke hibernate di 15%. Untuk sebagian orang sih ini terlalu brutal dan mungkin masih banyak waktu hingga battery mencapai 0%, tapi balik lagi, dalam kasus saya, ini batterynya yang kadang bermasalah, sehingga saya ingin notifikasi dan pencegahan lebih dimaksimalkan.
Buat Script Notifikasi Otomatis
Lanjut, karena sistem bawaan UPower hanya memberi notifikasi di 40% dan 25%, saya buat skrip sendiri untuk notifikasi di 17%.
Tujuannya, jadi pas di 17%, system akan memberitahu bahwa nanti ketika di 15%, laptop akan hibernate, jadi saya punya waktu untuk langsung lari dan ambil charger.
Langkah 1. Buat folder script (jika belum ada).
mkdir -p ~/.local/bin
Langkah 2. Buat file script
nano ~/.local/bin/battery-notify.sh
Kemudian isi script dengan :
#!/bin/bash
# LOG FILE
LOG="/tmp/battery-notify.log"
echo "$(date): Skrip dijalankan oleh cron" >> $LOG
# Ambil informasi baterai dari UPower
BATTERY=$(upower -e | grep -m1 battery)
LEVEL=$(upower -i "$BATTERY" | awk '/percentage:/ {print int($2)}')
STATE=$(upower -i "$BATTERY" | awk '/state:/ {print $2}')
echo "$(date): LEVEL=$LEVEL, STATE=$STATE" >> $LOG
# Level notifikasi
NOTIFY_LEVEL=17
ACTION_LEVEL=15
# Kirim notifikasi jika kondisi terpenuhi
if [ "$STATE" = "discharging" ] && [ "$LEVEL" -le "$NOTIFY_LEVEL" ] && [ "$LEVEL" -gt "$ACTION_LEVEL" ]; then
echo "$(date): NOTIFICATION SENT! Level $LEVEL%" >> $LOG
export DISPLAY=:0
export XDG_RUNTIME_DIR=/run/user/1000
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
/usr/bin/notify-send -u critical -a "Baterai" "⚠️ Peringatan Hibernate" "Baterai mencapai ${LEVEL}%. Laptop akan otomatis hibernate pada 15%."
else
echo "$(date): Kondisi tidak terpenuhi (STATE=$STATE, LEVEL=$LEVEL)" >> $LOG
fi

Jika sudah selesai, seperti biasa, pastikan izin eksekusi sudah diberikan dengan perintah chmod.
chmod +x ~/.local/bin/battery-notify.sh
Selesai, sekarang test dengan menjalankan perintah berikut dan harusnya linux akan memberikan notifikasi sesuai yang kita atur tadi.
~/.local/bin/battery-notify.sh
Langkah 3. Lanjut kita jadwalkan di cron agar script ini berjalan otomatis setiap menit.
crontab -e
Kemudian tambahkan ini (jika di elementary OS saya).
* * * * * export DISPLAY=:0 && export XDG_RUNTIME_DIR=/run/user/$(id -u) && export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus && /home/gylang/.local/bin/battery-notify.sh

Silahkan disesuaikan dengan kebutuhan kamu guys. Jika sudah, lanjut verifikasi dengan perintah :
crontab -l

Nah sudah ada kan, sekarang harusnya cron sudah berjalan.
Uji Coba
Nah sekarang saya sudah charge hingga 38 persen dan karena notifikasi battery lemah ada di 40%, maka notifikasi langsung muncul.

Mari kita tunggu hingga ke 25% dimana posisi tersebut adalah notifikasi battery critical.

Dan berikut jika battery sudah mencapai 17%

Nah mantap bukan, sekarang saya bisa bekerja dengan lebih tenang tanpa khawatir kehilangan data karena baterai habis. Cocok banget buat kamu yang masih setia pakai laptop jadul dengan baterai yang mulai rewel.
Apakah kamu punya tips lain atau mungkin ada langkah yang lebih baik? komen dibawah guys dan berikan pendapatmu
Catatan Penulis : WinPoin sepenuhnya bergantung pada iklan untuk tetap hidup dan menyajikan konten teknologi berkualitas secara gratis — jadi jika kamu menikmati artikel dan panduan di situs ini, mohon whitelist halaman ini di AdBlock kamu sebagai bentuk dukungan agar kami bisa terus berkembang dan berbagi insight untuk pengguna Indonesia. Kamu juga bisa mendukung kami secara langsung melalui dukungan di Saweria. Terima kasih.
