ACPI 事件未触发相关操作

ACPI event not triggering associated action

我已经尝试启用计算机的 Fn+F9/F10 亮度控制一段时间了。阅读 this thread,我尝试设置一个 acpi event/action 脚本来手动更改我的亮度。脚本本身可以工作——我可以在终端中手动调用 bl_down.shbl_up.sh

但是,出于某种原因,acpi 事件本身并未触发脚本。我在下面包含了 acpi_listen 的输出以及脚本:

~$ acpi_listen 
video/brightnessdown BRTDN 00000087 00000000 # FN+F9
video/brightnessup BRTUP 00000086 00000000   # FN+F10

bl_down.sh

#!/bin/sh

bl_device=/sys/class/backlight/intel_backlight/brightness
echo $(($(cat $bl_device)-100)) | sudo tee $bl_device

bl_up.sh

#!/bin/sh

bl_device=/sys/class/backlight/intel_backlight/brightness
echo $(($(cat $bl_device)+100)) | sudo tee $bl_device

所以我知道 acpi 已启用,并且脚本有效。只是由于某种原因事件本身没有触发动作。感谢任何正确方向的指示!

编辑:我忘了包括实际的 acpi 事件:

bl_down

event=video/brightnessdown BRTDN 00000087 00000000
action=/etc/acpi/actions/bl_down.sh

bl_up

event=video/brightnessup BRTUP 00000086 00000000
action=/etc/acpi/actions/bl_up.sh

您可以改用 xbacklight。它通过使用 X11 的 RandR 扩展来管理您的亮度。然后,您可以将热键绑定到:

xbacklight -inc 100

xbacklight -dec 100

您可以用适合您的增量替换“100”。就我个人而言,我发现这是最简单的解决方案。

好吧,明白了。阅读该站点上的其他帖子后,我意识到我需要重新启动 acpid。尝试 sudo /etc/init.d/acpid reload 后,一切正常。