У меня есть простой скрипт, который контролирует уровень заряда батареи моего ноутбука. Что-то не так с тем, как я настроил свой файл *. Service , так как я получаю ошибки (code=exited, status=1/FAILURE)
.
предупреждение уровня батареи. sh
Разрешения установлены на 777.
#!/bin/bash
CRITICAL_PERCENTAGE=`cat /sys/class/power_supply/BAT0/capacity`
STATUS=`cat /sys/class/power_supply/BAT0/status`
ICON="/usr/share/icons/Paper/512x512/status/battery-low.png"
if [ $STATUS == "Discharging" ]; then
if [ $CRITICAL_PERCENTAGE -eq 20 ]; then
notify-send -u critical -t 2000 -i $ICON "You need to charge your battery now!!! It is at $CRITICAL_PERCENTAGE%!!!"
fi
fi
batterylevel.service
[Unit]
Description=Send alerts on low battery starting at 25%.
[Service]
Type=simple
ExecStart=/bin/bash /home/myhome/.scripts/batterylevel-warning.sh
[Install]
WantedBy=multi-user.target
Реализация
# Create sym link
sudo ln-s /home/myhome/.scripts/batterylevel.service /etc/systemd/system
# Enable and start
sudo systemctl enable batterylevel.service
sudo systemctl start batterylevel.service
Проблема: Когда моя батарея достигает 25%, я запускаю sudo systemctl status batterylevel.service
и получаю:
● batterylevel.service - Send alerts on low battery starting at 25%. Designed for silverlance.
Loaded: loaded (/home/myhome/.scripts/batterylevel.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2020-03-02 23:04:02 PST; 4s ago
Process: 5357 ExecStart=/bin/bash /home/myhome/.scripts/batterylevel-warning.sh (code=exited, status=1/FAILURE)
Main PID: 5357 (code=exited, status=1/FAILURE)
Я также побежал sudo systemctl daemon-reload
где-то там, но все равно безуспешно. Извините за длинный пост.