ฉันมีปัญหาเดียวกันและมันน่าผิดหวังจริงๆ ฉันแก้ไขโดยใช้สคริปต์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
ฉันใช้ KDE แต่คุณสามารถใช้ได้กับทุกสภาพแวดล้อมเดสก์ทอป คุณไม่จำเป็นต้องเรียกใช้ในฐานะผู้ใช้รูทหรือบ้าไปกับซินแทกซ์ของไวยากรณ์ คุณต้องเปลี่ยนเสียงแจ้งเตือนเฉพาะเมื่อคุณต้องการเสียงเตือน หากคุณไม่ต้องการเริ่มต้นสคริปต์โดยอัตโนมัติเมื่อสภาพแวดล้อมเดสก์ท็อปเริ่มต้นให้สคริปต์ในโฟลเดอร์ $ USER / bin ด้วยสคริปต์BatteryAlertLauncher.sh :
#!/bin/bash
function getRunningProcesses
{
ps -aux | grep -v grep | grep BatteryAlert.sh
}
if [[ -n "$(getRunningProcesses)" ]] ; then
exit
fi
BatteryAlert.sh&
ตรวจสอบให้แน่ใจว่าสามารถใช้งานได้:
chmod u+x $USER/bin/BatteryAlert*
จากนั้นให้เรียกใช้คำสั่งต่อไปนี้:
ln -s /home/$(USER)/bin/BatteryAlertLauncher.sh .config/autostart/
นอกจากนี้คุณยังสามารถเรียกใช้สคริปต์การแจ้งเตือนด้วยตนเองจากการทุบตีโดยป้อนคำสั่งนี้:
BatteryAlertLauncher.sh