Мне бы хотелось, чтобы ноутбук с Debian и LXDE издавал системный звуковой сигнал каждые 10 или 30 секунд, как только заряд батареи достигнет критического уровня. Возможно ли это?
решение1
Да, это возможно. Один из способов — прослушивание событий udev при изменении уровня заряда батареи и сравнение его с пороговым значением. В противном случае это быстрый и грязный способ. Создайте службу systemd для запуска этого в фоновом режиме при загрузке, и вы будете получать звуковые сигналы каждые 10 секунд, как только уровень заряда батареи упадет ниже 5%.
#!/bin/bash
let CRIT_BATT_LVL=5
let PERIOD=10
exec 3>&2
exec 2>/dev/null
while true; do
level=$(acpi -b | grep -oP '\d+(?=%)')
if [ $level -lt $CRIT_BATT_LVL ]; then
timeout -k 0.75s 0.5s speaker-test --frequency 2000 --test sine >/dev/null
fi
sleep $PERIOD
done
exec 2>&3
exec 3>&-
Звуковые сигналы будут звучать через динамики. Убедитесь, что они не отключены. Если вы хотите, чтобы звук был через динамик материнской платы, загляните в утилиту beep
.