如果电池电量低(命令失败),则自动调暗亮度

如果电池电量低(命令失败),则自动调暗亮度

我试图申请这些 有关如何在电池电量低时自动调暗亮度的说明,但在答案中,此命令对我不起作用

> percent_left=$((100 * `cat /sys/class/power_supply/BAT0/charge_now` / ` cat /sys/class/power_supply/BAT0/charge_full`))

它说

cat: /sys/class/power_supply/BAT0/charge_now: No such file or directory
cat: /sys/class/power_supply/BAT0/charge_full: No such file or directory
bash: 100 *  / : syntax error: operand expected (error token is "/ ")

有什么解决办法吗?我是 Ubuntu 新手

答案1

安装 acpi:

$ sudo apt install acpi

$ acpi 

查看电池百分比:

$ echo $(acpi | cut -f2 -d, | cut -c2- | cut -f1 -d%)%

如果电池电量低则自动调暗亮度:

$ A=$(acpi | cut -f2 -d, | cut -c2- | cut -f1 -d%)
$ B=15 # if low battery is <=15.
$ if [ "$A" -le "$B" ]; then xrandr --output VGA-1 --brightness .5; fi;

此处,VGA-1 为屏幕。亮度值为 50%。(--亮度 .5)

我需要你的反馈;)

答案2

我的系统上也存在同样的问题:

$ cat /sys/class/power_supply/BAT0/charge_now
cat: /sys/class/power_supply/BAT0/charge_now: No such file or directory

原因是有时是BAT0,有时是BAT1。解决方案是像这样搜索其中一个:

$ cat /sys/class/power_supply/BAT*/charge_now
6216000

通配符BAT*让它可以找到BAT0BAT1

完整命令如下:

$ percent_left=$((100 * `cat /sys/class/power_supply/BAT*/charge_now` / ` cat /sys/class/power_supply/BAT*/charge_full`))

$ echo $percent_left
100

相关内容