可以尝试在脚本中使用UPower API代替DBUS。
示例代码:
#!/usr/bin/env bash
if [[ $(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep state | awk '{print $2}') == "discharging" ]] && [[ $(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | awk '{print $2}' | sed 's/%//g') -lt 20 ]] then # 提醒用户电池电量低于20% notify-send "Battery is low!" fi
if [[ $(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep state | awk '{print $2}') == "charging" ]] then
fi
if [[ $(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep online | awk '{print $2}') == "yes" ]] then
fi
注意:UPower API需要提前安装,可以使用以下命令进行安装:
sudo apt-get install upower