温度の代わりにバッテリーレベルで動作するようにスクリプトを変更する

温度の代わりにバッテリーレベルで動作するようにスクリプトを変更する

特定のCPU温度でコンピュータをスリープモードに切り替えるスクリプトがあります。

#!/bin/bash

 while true; do
        val=$(sensors | awk '/temp1/ {print $2}')
        max=$(echo "+82.0")
        if [[ "$val" > "$max" ]]
                then
                        systemctl suspend -i

        fi
    sleep 5
        clear
        sensors
 done
 exit 0

コンピュータが特定のバッテリレベルからスリープモードになるように調整/編集できますか?

ベストアンサー1

システムに応じて、bashからバッテリー比レベルを取得できます。

 level=$(</sys/class/power_supply/BAT0/capacity)
 echo $level

/sys/class/power_supply/デバイス名やその他の情報については、以下のディレクトリとファイルを確認してください。また、upowerコマンドを使用してより詳細なデータを取得することもできます。

$ upower -d
...
Device: /org/freedesktop/UPower/devices/battery_BAT0
  native-path:          BAT0
  vendor:               YYYYY
  model:                XXXX
  power supply:         yes
  battery
    present:             yes
    rechargeable:        yes
    state:               discharging
    energy:              23.436 Wh
    energy-full:         26.622 Wh
    energy-rate:         5.5728 W
    voltage:             11.97 V
    time to empty:       4.2 hours
    percentage:          88%

おすすめ記事