Jawaban:
Instal acpipaket. Sekarang masukkan ini return0whencharging.shdan 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-bindan mpvdan 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 -vmembalikkan pencocokan, dan karenanya kode pengembalian / status. -Eberarti 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 grepberarti bahwa garis TIDAK diakhiri dengan ":", sejumlah tab atau spasi lalu "pengisian" dan ujung baris harus grepkeluar dengan kode status 0. Ini berarti bahwa grepakan mengembalikan 1 selama komputer pengisian daya. The ifakan mengeksekusi itu cabang pertama ketika kode status 0,grepexit 1ketika grep keluar 0 dan exit 0ketika grep ada yang bukan nol.
return0whencharging.shfile ini ? Atau jika saya membuatnya, apakah ada tempat khusus yang harus saya simpan?
Saya telah menulis skrip kecil yang akan melakukan itu:
Naskah:
#!/usr/bin/env bash
while true
do
export DISPLAY=:0.0
battery_percent=$(acpi -b | grep -P -o '[0-9]+(?=%)')
if on_ac_power; then
if [ "$battery_percent" -gt 95 ]; then
notify-send -i "$PWD/batteryfull.png" "Battery full." "Level: ${battery_percent}% "
fi
fi
sleep 300 # (5 minutes)
done
Instalasi:
Lari:
sudo apt-get install acpi
git clone https://github.com/hg8/battery-full-notification.git
cd battery-full-notification/
chmod +x batteryfull.sh
Salin skrip ke ~/binfolder ( mengapa folder ~ / bin? ):
cp batteryfull.* ~/bin
Atau salin ke /usr/local/binjika Anda ingin itu tersedia untuk semua pengguna di komputer Anda:
cp batteryfull.* /usr/local/bin
Kemudian tambahkan batteryfull.shskrip sebagai aplikasi startup dengan: