Instal acpi
paket. Sekarang masukkan ini return0whencharging.sh
dan membuatnya dapat dieksekusi:
#!/bin/sh
acpi -V
if cat /proc/acpi/battery/BAT1/state | grep "charging state" | grep -vE ":[\t ]*charging$"; then
exit 1
else
exit 0
fi
Jika echo -e "\a"
bersuara, mulai ini ketika Anda ingin melihat status baterai:
watch --beep return0whencharging.sh
Jika hal itu tidak membuat suara apapun atau Anda ingin pemberitahuan dan alarm yang lebih baik dari apa pun yang menonton dapat memberikan, menginstal libnotify-bin
dan mpv
dan menggunakan ini sebagai gantinya:
while return0whencharging.sh; do sleep 1; done; notify-send "Finished charging" && mpv -loop /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga
Penjelasan :
Jika Anda melihat halaman manual untuk grep Anda dapat melihat bahwa -v
membalikkan pencocokan, dan karenanya kode pengembalian / status. -E
berarti ekspresi reguler. yang [\t ]
di regex (regular expression) berarti "tab atau ruang". Bintang berikut artinya "tab atau spasi 0 atau lebih banyak kali". Trailing "$" berarti harus sesuai dengan akhir baris. Yang terakhir grep
berarti bahwa garis TIDAK diakhiri dengan ":", sejumlah tab atau spasi lalu "pengisian" dan ujung baris harus grep
keluar dengan kode status 0. Ini berarti bahwa grep
akan mengembalikan 1 selama komputer pengisian daya. The if
akan mengeksekusi itu cabang pertama ketika kode status 0,grep
exit 1
ketika grep keluar 0 dan exit 0
ketika grep ada yang bukan nol.
return0whencharging.sh
file ini ? Atau jika saya membuatnya, apakah ada tempat khusus yang harus saya simpan?Saya telah menulis skrip kecil yang akan melakukan itu:
Naskah:
Instalasi:
Lari:
Salin skrip ke
~/bin
folder ( mengapa folder ~ / bin? ):Atau salin ke
/usr/local/bin
jika Anda ingin itu tersedia untuk semua pengguna di komputer Anda:Kemudian tambahkan
batteryfull.sh
skrip sebagai aplikasi startup dengan:Klik Adddan isi sebagai berikut:
sumber