使用 acpi_osi=Linux 启动修复了风扇控制,但破坏了亮度键

使用 acpi_osi=Linux 启动修复了风扇控制,但破坏了亮度键

我在 eeePC 1001P 上运行带有 3.16 内核的 D​​ebian 8。我有相当多的 Linux 经验,但不幸的是,这让我和我的 google-fu 不知所措。

最初,几乎所有东西都是开箱即用的,除了亮度控制是随机的,而且我的风扇一直在运转。我跟踪了亮度问题的存在,acpi_video0导致/sys/class/backlightX11 更喜欢它intel_backlight(实际上可以正确控制我的背光)。我通过编辑我的xorg.conf.

安装lm-sensors后仅显示 2 个传感器,均读取温度。启动时acpi_osi=Linux,我可以控制风扇,虽然我仍然可以通过“设置”应用程序中的滑块控制亮度,但我的亮度键已失效。

答案1

我通过安装acpid( sudo apt-get install acpid) 解决了这个问题。

然后我创建了2个文件:

/etc/acpi/events/asus-brightness:

event=hotkey ASUS010:00 0000002[0-9a-f]
action=/etc/acpi/brightness.sh %e

/etc/acpi/brightness.sh:

#!/bin/bash

test -f /usr/share/acpi-support/key-constants || exit 0
export DISPLAY=:0
PREV=$(cat /etc/acpi/prevbrightness)

if [[ "0x$3" -eq "0x20" || "0x$3" -lt "0x$PREV" ]] ; then
   xdotool key XF86MonBrightnessDown
elif [[ "0x$3" -eq "0x2F" || "0x$3" -gt "0x$PREV" ]] ; then
   xdotool key XF86MonBrightnessUp
else
   echo >&2 Unknown argument $1
fi

echo $3 > /etc/acpi/prevbrightness

现在,我echo 00000020 > /etc/acpi/prevbrightness以 root 身份运行(sudo su首先)

亮度控制现在可以使用了!

相关内容