Cara Membuat Laptop Linux Otomatis Hibernate di 15% dengan Notifikasi di 17%

Sedang Trending 1 bulan yang lalu

Sebagai pengguna Linux dengan laptop nan bisa dibilang jadul, kadang saat sedang bekerja alias asik mengerjakan sesuatu dengan laptop ini, battery tiba tiba drop tanpa ada notifikasi dan langsung meninggal begitu saja, padahal battery laptop Asus K401UQK saya ini sudah saya tukar baru, entah lantaran kualitasnya nan jelek alias gimana, saya kurang paham.

Nah untuk mengakali perihal tersebut, saya mengubah beberapa konfigurasi default seperti misalkan mengatur agar laptop tidak langsung meninggal 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 meninggal alias hibernate. Nah sebagai pengarsipan agar saya tidak lupa, sekaligus sharing untuk kawan teman nan mungkin terkendala perihal nan sama, berikut adalah langkah konfigurasinya.

Konfigurasi nan Saya Terapkan

Level BateraiAksi
40%Notifikasi “Baterai Rendah” dari sistem
25%Notifikasi “Baterai Kritis” dari sistem
17%Notifikasi kustom: “Laptop bakal hibernate di 15%”
15%Hibernate otomatis (data tersimpan ke disk)

Dengan konfigurasi ini, saya punya waktu nan 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 nan ada di /etc/UPower/UPower.conf.

Saya ubah nilainya menjadi :

PercentageLow=40
PercentageCritical=25
PercentageAction=15

Nah ini tentu bisa disesuaikan dengan kebutuhan Anda ya. Jadi jangan terlalu terpaku pada tulisan 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 bakal memilki behavior sesuai nan kita tentukan barusan, notifikasi battery rendah bakal ada di 40%, critical di 25% dan actions ke hibernate di 15%. Untuk sebagian orang sih ini terlalu sadis dan mungkin tetap banyak waktu hingga battery mencapai 0%, tapi kembali lagi, dalam kasus saya, ini batterynya nan kadang bermasalah, sehingga saya mau notifikasi dan pencegahan lebih dimaksimalkan.

Buat Script Notifikasi Otomatis

Lanjut, lantaran sistem bawaan UPower hanya memberi notifikasi di 40% dan 25%, saya buat skrip sendiri untuk notifikasi di 17%.

Tujuannya, jadi pas di 17%, system bakal menunjukkan bahwa kelak ketika di 15%, laptop bakal hibernate, jadi saya punya waktu untuk langsung lari dan ambil charger.

Langkah 1. Buat berkas 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 info 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 bakal 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 bakal memberikan notifikasi sesuai nan kita atur tadi.

~/.local/bin/battery-notify.sh

Langkah 3. Lanjut kita jadwalkan di cron agar script ini melangkah 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 Anda 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 lantaran 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 cemas kehilangan info lantaran baterai habis. Cocok banget buat Anda nan tetap setia pakai laptop jadul dengan baterai nan mulai rewel.

Apakah Anda punya tips lain alias mungkin ada langkah nan lebih baik? komen dibawah guys dan berikan pendapatmu


Catatan Penulis : WinPoin sepenuhnya berjuntai pada iklan untuk tetap hidup dan menyajikan konten teknologi berbobot secara cuma-cuma — jadi jika Anda menikmati tulisan dan pedoman di situs ini, minta whitelist laman ini di AdBlock Anda sebagai corak support agar kami bisa terus berkembang dan berbagi insight untuk pengguna Indonesia. Kamu juga bisa mendukung kami secara langsung melalui support di Saweria. Terima kasih.

Written by

Gylang Satria

Tech writer nan sehari‑hari berkutat dengan Windows 11, Linux Ubuntu, dan Samsung S24. Punya pertanyaan alias butuh diskusi? Tag @gylang_satria di Disqus. Untuk kolaborasi, email saja ke [email protected]

Post navigation

Previous Post

Selengkapnya
Sumber Winpoin.com
Winpoin.com