每当我按下功能键来更改笔记本电脑的屏幕亮度时,它都会修改文件中存储的值/sys/class/backlight/acer-wmi/brightness
,但我的屏幕保持不变。经过一些实验,我发现手动修改存储在中的值/sys/class/backlight/psb-bl/brightness
会立即改变我的屏幕亮度。
我怎样才能让功能键改变acer-wmi
文件,或者让背光从psb-bl
文件中获取亮度?
一些可能有用的细节:
- 我正在运行 Lubuntu 15.10。
- 我的笔记本电脑是 Acer Aspire One。
我的
/etc/default/grub
有GRUB_CMDLINE_LINUX_DEFAULT="acpi_osi=Linux acpi_backlight=vendor" GRUB_CMDLINE_LINUX=""
如果我删除
acpi_osi=Linux acpi_backlight=vendor
,同样的问题仍然存在(有一个小小的区别:acer-wmi
中的链接/sys/class/backlight
被更改为不同的名称 - 我认为是acpi_video0
)。xbacklight
在终端运行结果为No outputs have backlight property
。- 当尝试使用功能键改变亮度时,屏幕角落会出现一个条,显示
acer-wmi
文件的当前值。 acer-wmi
范围是0到9,psb-bl
范围是0到100。
答案1
在 lubuntu 中你可以使用开箱窗口管理器创建按键和动作之间的绑定,例如执行编辑您的 shell 脚本/sys/class/backlight/psb-bl/brightness
。在 rc.xml 文件中创建一个新绑定,其中包含按键绑定的映射:
<keybind key="key code">
<action name="Execute">
<execute>~/brightnessDown.sh</execute>
</action>
</keybind>
showkeys
您可以使用或等工具来验证密钥代码xev
。文件内容brightnessDown.sh
应如下所示:
backlight=`cat /sys/class/backlight/psb-bl/brightness`;
if [ $backlight -gt 1 ]; then
backlight=$((backlight - 1));
echo $backlight > /sys/class/backlight/psb-bl/brightness;
fi