Jawaban:
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:
#!/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 ~/bin
folder ( mengapa folder ~ / bin? ):
cp batteryfull.* ~/bin
Atau salin ke /usr/local/bin
jika Anda ingin itu tersedia untuk semua pengguna di komputer Anda:
cp batteryfull.* /usr/local/bin
Kemudian tambahkan batteryfull.sh
skrip sebagai aplikasi startup dengan: