Мне нужно включить сброс питания (AC) (off-line) и включение (on-line) уведомлений, например, это уведомление:
Я искал и пытался сделайте это, но я не нашел успешных статей. Я использую эти команды для наблюдения за моим адаптером переменного тока:
acpi- a
echo ac_adapter=$(acpi -a | cut -d' ' -f3 | cut -d- -f1)
Но я не знаю, как писать уведомления по коду.
Могу ли я написать сценарий оболочки следующим образом?
#!/bin/bash
power=ac_adapter=$(acpi -a | cut -d' ' -f3 | cut -d- -f1)
s1="$power"
if [ "$s1" = "off-line" ]; then
notify-send --urgency=low "Power Manager" "Power Down" -i battery_low
echo "notification: off" >~/.scripts/notification
else
if [ $s1 = "on-line" ]; then
notify-send --urgency=normal "Power Manager" "Power Up" -i battery_full
fi
fi
Согласно ответу Sudheer, я написал еще один сценарий оболочки, и он отлично работает на Ubuntu 14.04 (Trusty Tahr) с опцией notify-send -t. Когда я добавлю --expire-time=TIME, это не сработает, но notify-send -t 30 работает отлично. Почему?
Вот мой скрипт:
#!/bin/bash
stat=$(acpi -a | cut -d' ' -f3 | cut -d- -f1)
if [ "$stat" == 'on' ];then
a=yes
elif [ "$stat" == 'off' ];then
a=no
fi
while true; do
stat=$(acpi -a | cut -d' ' -f3 | cut -d- -f1)
if [ "$stat" != "$a" ]; then
if [ "$stat" == "on" ];then
notify-send -t 30 --icon=gpm-ac-adapter "AC power on"
elif [ "$stat" == "off" ];then
notify-send -t 30 --icon=notification-power-disconnected "AC Power Off Battery power on"
fi
fi
a=$stat
sleep 1
done