システムの問題にバッテリー不足の警告を表示するには?

システムの問題にバッテリー不足の警告を表示するには?

バッテリーが危険レベルに達したら、LXDEを搭載したDebianノートブックで10秒または30秒ごとにシステムビープ音を鳴らしたいと思います。それは可能ですか?

答え1

はい、可能です。 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ユーティリティを確認してください。

関連情報