我希望带有 LXDE 的 Debian 笔记本电脑在电池达到临界水平时每 10 或 30 秒发出一次系统蜂鸣声。那可能吗?
答案1
对的,这是可能的。一种方法是在电池电量变化时监听 udev 事件,并将其与阈值进行比较。否则,这是一种快速而肮脏的方式。创建一个 systemd 服务,在启动时在后台启动此服务,一旦电池电量低于 5%,您将每 10 秒听到一次蜂鸣声。
#!/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
实用程序。