Altere o script para agir para o nível da bateria em vez da temperatura

0

Eu tenho um script que pode colocar o computador para dormir em uma determinada temperatura da 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

Pode ser ajustado / editado para colocar o computador para dormir em um determinado nível de bateria?

    
por cipricus 31.03.2017 / 14:52

1 resposta

0

Dependendo do seu sistema, você deve ser capaz de obter o nível percentual de bateria no bash de

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

Verifique os diretórios e arquivos em /sys/class/power_supply/ para o nome do seu dispositivo e outras informações. Você também pode ter o comando upower para obter dados mais descritivos:

$ 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%
    
por 31.03.2017 / 20:13