我试图申请这些 有关如何在电池电量低时自动调暗亮度的说明,但在答案中,此命令对我不起作用
> 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*
让它可以找到BAT0
或BAT1
。
完整命令如下:
$ percent_left=$((100 * `cat /sys/class/power_supply/BAT*/charge_now` / ` cat /sys/class/power_supply/BAT*/charge_full`))
$ echo $percent_left
100