Цей простий для мене працює чудово, просто acpiвстановити простий пакет, який не потребує встановлення (без деманів, специфічних середовищ на робочому столі тощо).
У своєму користувальницькому crontab ( crontab -e) помістіть наступне (все в одному рядку, це розділено для читабельності тут):
*/3 * * * * acpi --battery |
awk -F, '/Discharging/ { if (int($2) < 15) print }' | xargs -ri
env DISPLAY=:0 zenity --warning --text "battery low\n{}"
Що це робиться, це перевірити рівень заряду акумулятора ( acpi --battery), і якщо ви не підключені до зарядного пристрою ( /Discharging/), і якщо батарея < 15%, вона буде кожні 3 хвилини ( */3) відображати повідомлення про те, zenityщоб вас помилка.
Замість zenity можна замість цього використовувати xmessage(на справді спартанській машині) або навіть щось на кшталт aplay -q /usr/lib/libreoffice/share/gallery/sounds/cow.wavаудіоповідомлень (які мають перевагу, що він не буде переривати клавіатуру на клавіатурі, і буде працювати навіть для багатокористувацьких ноутбуків з декількома сесіями, де DISPLAY=:0хак не вдасться)
Якщо вам також потрібно зупинити / сплячу машину на певному критичному рівні, дивіться цю відповідь