Skrip ringkas dan dapat disesuaikan untuk mengirim pemberitahuan ke desktop GNU/Linux Anda jika tingkat baterai laptop Anda mencapai tingkat ambang batas minimum atau maksimum tertentu.
Dalam penggunaan dan diuji hanya dengan menjalankan Gnome, tetapi harus bekerja di lingkungan distro dan desktop lainnya. Skrip akan memeriksa kebutuhannya dan memberi tahu Anda apa yang hilang, saat melakukan menjalankan manual awal (lihat instruksi di bawah.)

Apa yang dicapai skrip ini?
Saya lebih suka menyimpan beberapa uang setahun dengan mencabut barang -barang yang tidak perlu dicolokkan! Demikian juga, produsen laptop saya juga menyarankan kebiasaan pengisian daya 20/80 untuk menjaga baterai pada tingkat yang optimal.
Saya telah bereksperimen dengan pengisian sebagian vs pengisian penuh dan 20/80 tampaknya memberi baterai saya umur terbaik.
Lingkungan desktop yang saat ini saya gunakan tampaknya tidak secara asli memiliki kemampuan ambang batas peringatan baterai dan model laptop saya tidak memiliki ambang batas/stop di sysfs.
Sebagian besar solusi yang ada membengkak dengan fitur yang tidak saya butuhkan (atau tidak memiliki kemampuan untuk max/kustomisasi). Saya hanya ingin pengingat pemberitahuan untuk mencolokkan atau menghapus daya ketika muatan baterai berada pada level pilihan saya tanpa harus terus -menerus melihat ikon simbolik di GUI.
Kloning repo ke direktori di PC Anda di mana skrip dapat tetap dapat diakses di Userland (root/sudo tidak diperlukan)
git clone https://github.com/angela-d/battery-max.gitKemudian, lakukan menjalankan manual, untuk memastikannya berfungsi (akan memeriksa untuk memastikan jalur kelelawar Anda adalah tempat yang diharapkan dan dependensi dipasang - itu akan meminta Anda melalui terminal jika ada sesuatu yang salah).
Cukup jalankan jalur lengkap ke check-battery :
/storage/battery-max/check-battery (Ganti /storage/battery-max untuk jalur lokal di sistem Anda, di mana check-battery akan disimpan)
Itu saja! Siapkan cron untuk mengotomatiskan cek.
Ini akan memicu skrip untuk memeriksa status baterai Anda pada interval yang telah ditentukan sebelumnya yang Anda atur
crontab -e Jika Anda ingin skrip berjalan setiap menit (ganti /storage/battery-max/ untuk jalur lokal di sistem Anda):
* * * * * /storage/battery-max/check-batteryPerhatikan bahwa jika Anda memilih untuk menjalankan ini setiap menit, Anda mungkin ingin mempertimbangkan memblokir cron dari/var/log/syslog, kalau tidak, Anda akan melihat spam seperti itu:
28 Des 01:50:01 Debian Cron [28999]: (Angela) CMD (/penyimpanan/baterai-max/check-batery
Jika Anda hanya ingin mengarahkan pesan cron ke log mereka sendiri dan tidak menghapusnya sepenuhnya (yang akan dilakukan contoh saya di bawah ini), tentukan demikian di /etc/rsyslog.conf
Untuk meremas logging yang tidak berguna ini, Anda dapat menjalankan (opsional) :
pico /etc/rsyslog.confTemukan garis:
* . * ; auth,authpriv.none -/var/log/syslog Tambahkan cron , So So:
* . * ; cron,auth,authpriv.none -/var/log/syslogRestart rsyslog:
service rsyslog restart Buka check-battery dan Anda akan melihat sejumlah variabel yang dapat Anda sesuaikan sesuai kebutuhan Anda:
# modify the following to suit
BAT_PATH=/sys/class/power_supply/BAT0/
AVAIL= $( cat $BAT_PATH " capacity " )
MIN=70
MAX=80
NOTIFY_TITLE= " Battery Level Threshold Met "
NOTIFY_MSG= " Battery level is at "
ICON= " battery "
FREQ=15Penjelasan variabel:
/usr/share/icons/[current theme name] atau ~/.local/share/icons/[current theme name]Jika Anda lebih suka membiarkan baterai terhubung 24/7, skrip ini tidak berguna bagi Anda dan memanfaatkan kemampuan ambang batas TLP mungkin lebih cocok, jika Anda menggunakan laptop IBM atau ThinkPad.
Selain itu, Anda dapat memodifikasi /etc/UPower/UPower.conf dan menyesuaikan nilai -nilai yang akan mengirim pemberitahuan sistem, juga ( PercentageLow menjadi tingkat di mana pemberitahuan kritis dikirim):
PercentageLow=10
PercentageCritical=3
PercentageAction=2Tidak ada pemberitahuan?
Tambahkan yang berikut sebelum crons yang berinteraksi dengan GUI Anda di crontab -e untuk mengatur lingkungan tampilan Anda, mana yang tidak dimiliki Cron secara native akses ke:
DISPLAY= " :0.0 "
XAUTHORITY= " /home/your_username/.Xauthority "
XDG_RUNTIME_DIR= " /run/user/1000 "(Semua 3 variabel di atas mungkin/mungkin tidak diminta oleh distro Anda - formulasi ini adalah apa yang berhasil bagi saya.)
Saya tidak menambahkan ini ke skrip, karena saya memiliki utilitas khusus lain yang mengirim pemberitahuan ke desktop saya dan tidak merasa perlu untuk menambahkan ini di beberapa lokasi.