ラップトップのバッテリーレベルが特定の最小または最大のしきい値レベルに達した場合、GNU/Linuxデスクトップに通知を送信するための簡潔でカスタマイズ可能なスクリプト。
使用中およびデビアンランニングGNOMEでのみテストされていますが、他のディストリビューションやデスクトップ環境で動作するはずです。スクリプトでは、その必需品をチェックし、最初のマニュアルの実行を行うときに欠落しているものをお知らせします(以下の手順を参照してください。)

このスクリプトは何を達成していますか?
プラグインする必要のないものを抜くことで、1年に数ペニーを節約したいです!同様に、私のラップトップメーカーは、バッテリーを最適なレベルに保つための20/80の充電習慣も提案しています。
私は部分的な充電と完全な充電を実験しましたが、20/80はバッテリーに最高の寿命を与えているようです。
私が現在使用しているデスクトップ環境は、バッテリーアラートのしきい値機能をネイティブに持っていないようであり、私のラップトップモデルにはSYSFSの開始/停止しきい値がありません。
ほとんどの既存のソリューションには、私が必要としない機能で肥大化しています(または最大/カスタマイズの機能がありません)。 GUIのシンボリックアイコンを継続的に調べることなく、バッテリーの充電が私の好みのレベルにあるときに、プラグインまたは電源を削除する通知リマインダーが必要でした。
スクリプトにユーザーランドでアクセス可能なままでいることができるPCのディレクトリにレポをクリックします(root/sudoは必要ありません)
git clone https://github.com/angela-d/battery-max.git次に、手動で実行して、機能していることを確認します(バットパスが予想され、依存関係がインストールされる場所であることを確認します。
check-batteryへのフルパスを実行するだけです。
/storage/battery-max/check-battery ( check-batteryが保持されるシステム上のローカルパスの交換/storage/battery-max )
それでおしまい! Cronをセットアップして、チェックを自動化します。
これにより、設定した事前定義されたインターバルでバッテリーステータスを確認するためにスクリプトをトリガーします
crontab -eスクリプトを毎分実行したい場合(システム上のローカルパスを交換/storage/battery-max/ ):
* * * * * /storage/battery-max/check-batteryこれを毎分実行することを選択した場合は、/var/log/syslogのcronをブロックすることを検討することをお勧めします。
12月28日01:50:01 DEBIAN CRON [28999] :(アンジェラ)CMD(/ストレージ/バッテリー - マックス/チェックバッテリー
Cronメッセージを自分のログに単に削除して完全に削除しないようにする場合(以下の私の例はそうすることです)、/etc /rsyslog.confでそのように指定します
この役に立たないロギングをつぶすには、実行できます(オプション) :
pico /etc/rsyslog.conf行を見つける:
* . * ; auth,authpriv.none -/var/log/syslog cronを追加します。
* . * ; cron,auth,authpriv.none -/var/log/syslogRsyslogを再起動します:
service rsyslog restartcheck-batteryを開くと、ニーズに合わせて調整できる多数の変数が表示されます。
# modify the following to suit
BAT_PATH=/sys/class/power_supply/BAT0/
AVAIL= $( cat $BAT_PATH " capacity " )
MIN=70
MAX=80
NOTIFY_TITLE= " Battery Level Threshold Met "
NOTIFY_MSG= " Battery level is at "
ICON= " battery "
FREQ=15変数の説明:
/usr/share/icons/[current theme name]または~/.local/share/icons/[current theme name]から取得できます24時間年中無休でバッテリーをプラグインしたままにしたい場合、このスクリプトはあなたには役に立たず、IBMまたはThinkPadラップトップを使用している場合、TLPのしきい値機能を使用することがより適している可能性があります。
さらに、 /etc/UPower/UPower.conf upower/upower.confを変更して、システム通知を送信する値を調整することもできます(重要な通知が送信されるPercentageLowです):
PercentageLow=10
PercentageCritical=3
PercentageAction=2通知なし?
crontab -eのGUIと対話するCronsの前に以下を追加して、Display環境を設定します。Cronは次のようにアクセスできません。
DISPLAY= " :0.0 "
XAUTHORITY= " /home/your_username/.Xauthority "
XDG_RUNTIME_DIR= " /run/user/1000 "(上記の変数はすべて、あなたのディストリビューションによって必要とされないかもしれません - この定式化は私にとってうまくいったものです。)
これをスクリプトに追加しませんでした。デスクトップに通知を送信し、複数の場所に追加する必要があるとは思わない他のカスタムユーティリティがあるからです。