Tôi có cùng một vấn đề và nó thực sự bực bội. Tôi đã giải quyết bằng cách sử dụng tập lệnh BatteryAlert.sh :
#!/bin/bash
BATTERY=$(upower -e | grep 'BAT')
while :
do
BATTERY_PERCENTAGE=$(upower -i $BATTERY|grep percentage|awk '{ print $2 }'|sed s/'%'/''/g)
CABLE=$(upower -d | grep -n2 line-power | grep online | awk '{ print $3 }')
if [[ "$BATTERY_PERCENTAGE" -lt "10" && $CABLE = "no" ]]; then
notify-send --urgency=critical "WARNING: Battery is about to die" "Plug in the power cable"
play /usr/share/sounds/KDE-Sys-Warning.ogg &> /dev/null
fi
sleep 10
done
Tôi đang sử dụng KDE nhưng bạn có thể sử dụng nó với mọi môi trường máy tính để bàn. Bạn không cần phải chạy cái này với tư cách người dùng root hoặc phát điên với cú pháp crontab. Bạn chỉ cần thay đổi âm thanh thông báo nếu bạn muốn cảnh báo âm thanh. Nếu bạn không tự động khởi động tập lệnh khi môi trường máy tính để bàn bắt đầu, hãy đặt tập lệnh vào thư mục $ USER / bin với tập lệnh BatteryAlertLauncher.sh :
#!/bin/bash
function getRunningProcesses
{
ps -aux | grep -v grep | grep BatteryAlert.sh
}
if [[ -n "$(getRunningProcesses)" ]] ; then
exit
fi
BatteryAlert.sh&
Hãy chắc chắn rằng chúng có thể được thực thi:
chmod u+x $USER/bin/BatteryAlert*
Sau đó, chỉ cần chạy lệnh sau:
ln -s /home/$(USER)/bin/BatteryAlertLauncher.sh .config/autostart/
Bạn cũng có thể chạy tập lệnh cảnh báo theo cách thủ công từ bash bằng cách nhập lệnh này:
BatteryAlertLauncher.sh