无法更改Lenovo笔记本电脑的亮度

亮度调节键< Fn + / >无效(尽管它们被环境识别),我也无法使用GUI工具更改亮度。 这似乎是Linux本身的一个问题,而不是桌面环境。

我可以在Windows操作系统中更改亮度,因此不是某种硬件故障。

细节:
联想B570(型号名称:20093)
集成的英特尔高清显卡
Kubuntu 11.04(Linux 2.6.38-10-generic,KDE 4.7.0),一切都是最新的
没有专有的图形驱动程序(只有Wi-Fi一个)

我尝试过的:

  • 编辑/etc/default/grub GRUB_CMDLINE_LINUX_DEFAULTacpi_osi=Linuxacpi_backlight=vendornomodeset 。 是的,我做了update-grub
  • 编辑/etc/X11/xorg.conf (没有这样的文件,即使在sudo dpkg-reconfigure xserver-xorg
  • 编辑/proc/acpi/video/VGA/LCD/brightness (没有这样的文件)
  • sudo setpci -s 00:02.0 F4.B= XX (无效果)
  • xbacklight -set XX (“ No outputs have backlight property ”)

我该如何解决这个问题?

试试这个 。 它适用于我的Ubuntu 14,联想B570,英特尔图形。

打开终端并创建以下配置文件(如果它不存在):

sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

现在我们需要编辑这个文件。 您可以使用任何编辑器,无论是终端还是图形编辑器。

sudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf

将以下行添加到此文件:

 Section "Device" Identifier "card0" Driver "intel" Option "Backlight" "intel_backlight" BusID "PCI:0:2:0" EndSection 

保存。 注销并重新登录。

如果GUI工具失败,请尝试使用终端 。

  1. 打开终端

  2. 运行: ls /sys/class/backlight/*/brightness 。 示例输出将是:

     /sys/class/backlight/acpi_video0/brightness 
  3. 如果没有找到,内核不支持亮度控制(缺少驱动程序?)。 否则,您可以使用以下命令(相应地替换acpi_video0 ):

    • 获取当前亮度级别:

       cat /sys/class/backlight/acpi_video0/brightness 
    • 获得最大亮度级别:

       cat /sys/class/backlight/acpi_video0/max_brightness 

    这些命令返回亮度级别,范围从零到max_brightness (参见上文)。

  4. 要更改亮度级别,需要在brightness文件中写入一个数字。 这不能由像gedit这样的编辑器来完成。 假设您想将亮度更改为5,则必须运行:

     echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness 

    或者,如果您只想将亮度级别设置为可用的最高级别:

     sudo tee /sys/class/backlight/acpi_video0/brightness < /sys/class/backlight/acpi_video0/max_brightness 
  1. 安装linux-kamal-mjgbacklight – Linux内核的补丁。

    • 检查它是否适合您:
      lsmod | grep ^i915
      应该出现类似i915 331519 3东西。 如果没有输出,这将不起作用。
    • sudo add-apt-repository ppa:kamalmostafa/linux-kamal-mjgbacklight
    • 安装更新( sudo apt-get update; sudo apt-get upgrade
  2. 重启。

  3. 现在,您可以使用终端调整亮度,如Lekensteyn所建议的那样 。
    如果您可以通过终端+ sudo更改亮度,这就是答案的结束。
    如果你在GNOME桌面上,亮度甚至可能已经完全运行。

  4. 下载我的亮度变换器脚本 ,允许它执行,并将其放到/ usr / local / bin /
    wget -O brightness http://ideone.com/plain/yPlo5
    chmod +x brightness
    sudo mv brightness /usr/local/bin

  5. 我们必须允许编辑亮度文件,以便在任何地方都不需要sudo
    此外,我们希望在系统启动时将亮度设置恢复为先前的设置(不幸的是,默认情况下不会保存)。

    上面提到的brightness脚本可以处理它(使用restore参数),只需将其添加到自动运行。
    为此,我们将编辑/etc/rc.local(sudo sudo nano /etc/rc.local或任何编辑器而不是nano)。
    exit 0行之前添加以下行:
    /usr/local/bin/brightness restore

  6. 现在最好重新启动。

  7. 因此brightness脚本有效。 您可以随时前往终端并键入以下内容:

    • brightness – 获取当前亮度设置
    • brightness value – 将亮度设置为
    • brightness inc stepbrightness dec step降低brightness dec stepbrightness dec step增加或减少亮度(如果未指定,则从配置文件中使用默认值,通常为最大亮度的10%)
  8. 现在您可能希望将亮度变化映射到热键。

    • XF86BrightnessUp设置为brightness inc
    • XF86BrightnessDown设置为brightness dec
  9. 如果你想调整一些东西,请务必查看/etc/bx_brightness.conf
    您可以使用brightness inc /减少更改brightness inc更改的步骤


感谢Toz在这个post中的无价帮助。

我认为我发现使用udev规则调整intel_backlight的现有方法很容易且影响最小。

当我在运行内核3.2的Lenovo G360笔记本上按Fn + 向上 / 向下时,我注意到“背光”子系统的“改变”动作。 所以我写了一个/etc/udev/rules.d/99-writeintelbacklight.rules的规则如下:

 ACTION=="change", SUBSYSTEM=="backlight", RUN+="/usr/sbin/writeintelbacklight.sh" 

使shell脚本/usr/sbin/writeintelbacklight.sh包含:

 #!/bin/bash intelmaxbrightness=`cat /sys/class/backlight/intel_backlight/max_brightness` acpimaxbrightness=`cat /sys/class/backlight/acpi_video0/max_brightness` scale=`expr $intelmaxbrightness / $acpimaxbrightness` acpibrightness=`cat /sys/class/backlight/acpi_video0/brightness` newintelbrightness=`expr $acpibrightness \* $scale` curintelbrightness=`cat /sys/class/backlight/intel_backlight/actual_brightness` if [ "$newintelbrightness" -ne "$curintelbrightness" ] then echo $newintelbrightness > /sys/class/backlight/intel_backlight/brightness fi exit 0 

当然,你需要做一个sudo chmod +x /usr/sbin/writeintelbacklight.sh

这不会使您的Fn键工作,但您可以分配任何其他键来调整亮度。

我尝试了其中几种解决方案,但在找到这个小指标程序http://codevanrohde.nl/wordpress/?p=128之前,没有任何方法可以帮助我。 有了它,您可以设置热键来控制亮度,使用鼠标滚轮或从指示器的下拉列表中选择。 我已经用’Win + Alt’取代了’Fn’,这对我来说非常相似,现在我也可以用外接键盘!

要添加PPA并安装:

 sudo add-apt-repository ppa:indicator-brightness/ppa sudo apt-get update && sudo apt-get install indicator-brightness 

热键应分配给:

 /opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --up 

 /opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --down 

脚注:开箱即用,birghtness指示灯识别我系统中的7个亮度级别。 通过将acpi_backlight=vendor添加到/etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT行,该数字最多可达16!

我有一个lenovo ideapad z400。

我尝试了上面列出的所有TIPS,没有成功。

所以我找到了一个非常好用的不同的:

将以下行放在/ etc / default / grub中

 GRUB_CMDLINE_LINUX="acpi_backlight=vendor acpi_osi=Linux resume=/dev/sdYY" 

YY =交换区域,使用swapon -s查看交换设备。

以root身份执行update-grub

重启后问题解决了。

我在Ubuntu 14.04上有一个带有Nvidia显卡和二进制驱动程序的Thinkpad T450s。 为了使背光工作,我必须通过在intel设备定义中添加以下行来编辑/etc/X11/xorg.conf文件(安装二进制驱动程序时会创建xorg.conf文件):

 Option "Backlight" "intel_backlight" 

完整的部分现在是:

 Section "Device" Identifier "intel" Driver "intel" BusID "PCI:0@0:2:0" Option "Backlight" "intel_backlight" Option "AccelMethod" "SNA" EndSection 

这对于KDE用户不起作用,因为它写在https://launchpad.net/~kamalmostafa/+archive/linux-kamal-mjgbacklight

KDE桌面用户注意事项

KDE桌面用户:此PPA可能无法修复您的背光控制热键:此修复程序需要内核模块提供新的/sys/class/backlight/intel_backlight接口(无论您的桌面如何都可以使用)以及桌面模块来访问它接口。 对于Gnome来说,这个PPA中更新的gnome-power-manager提供了这个,但KDE的等价物尚未开发出来。“

但是,您可以尝试在此处找到的解决方法。

这就是输入终端echo XXX | sudo tee /sys/class/backlight/intel_backlight/brightness echo XXX | sudo tee /sys/class/backlight/intel_backlight/brightness其中XXX是一个整数值。

在我的情况下,XXX可以是从0到4882的值,但要小心:如果你写0,屏幕将是完全黑色,你什么都不会。

这是你可以做的补丁。

使用名称.modificarBrillo.sh创建此脚本(在我的情况下,我在我的主文件夹中创建它:〜/ .modificarBrillo.sh)

 #!/bin/bash if [ -z "$1" ]; then echo "ERROR: Tiene que introducir un parámetro: \"a\" para aumentar o \"d\" para disminuir" exit else if [ "$1" != "a" ] && [ "$1" != "d" ]; then echo "ERROR: el parámetro de entrada sólo puede ser o \"a\" para aumentar el brillo o \"d\" para disminuirlo" exit fi fi MAX_BRILLO=`cat /sys/class/backlight/intel_backlight/max_brightness` MIN_BRILLO_ABSOLUTO="0" MIN_BRILLO="100" #el brillo mínimo puede ser 0 pero eso deja la pantalla completamente a oscuras INTERVALO=`expr $MAX_BRILLO - $MIN_BRILLO_ABSOLUTO` INTERVALO=`expr $INTERVALO / 10` brillo=`cat /sys/class/backlight/intel_backlight/actual_brightness` if [ "$1" = "a" ]; then let "brillo = brillo + INTERVALO" if [ "$brillo" -gt "$MAX_BRILLO" ]; then let "brillo = MAX_BRILLO" fi else let "brillo = brillo - INTERVALO" if [ "$brillo" -lt "$MIN_BRILLO" ]; then let "brillo = MIN_BRILLO" fi fi echo "$brillo" | tee /sys/class/backlight/intel_backlight/brightness 

但是,由于前一个脚本需要执行权限,因此/ sys / class / backlight / intel_backlight / brightness只能由root编辑,您必须在终端中执行:

 chmod a+x ~/.modificarBrillo.sh sudo chmod a+w /sys/class/backlight/intel_backlight/brightness` 

每次启动都必须执行最后一个命令,因为启动时会更新亮度文件的权限。 为此, sudo vim /etc/rc.local并在“exit 0”行之前添加命令sudo chmod a+w /sys/class/backlight/intel_backlight/brightness

最后,您应该安装xbindkeys以指定Function键来执行脚本。

在我的例子中,我将行添加到配置文件〜/ .xbindkeysrc中

 #Aumentar brillo "/home/alvaro/.modificarBrillo.sh a" m:0x0 + c:233 XF86MonBrightnessUp #Disminuir brillo "/home/alvaro/.modificarBrillo.sh d" XF86MonBrightnessDown 

但您也可以安装程序xbindkeys-config以图形方式执行proccess。

编辑/etc/default/grub文件并添加
pcie_aspm=force acpi_backlight=vendor之后
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

然后整行看起来像这样:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force acpi_backlight=vendor" 

有关详细信息,请访问此链接 。

我有同样的问题,我在ubuntu 14.04(Unity)中使用Gnome3.10。 我在笔记本电脑上安装了tlp来控制温度。 我刚删除’tlp’并重新启动系统,我可以使用function(fn)+箭头键调整屏幕亮度。

它可能有助于检查一次。

与联想IP G50-70有同样的问题(显然)。 – 事实上,没有任何function键“出现”工作。 最终在Bios中我发现了一个’Hotkey’启用/禁用function。 矛盾的是,它是“启用”,但这实际上可以对function键进行单键按下操作。 事实上,如果你使用传统的’Fn + Function keyX’技术,它们就不起作用了。

如果你’禁用’Bios中的热键function,那么function键’按预期’工作(Fn +function键)。 – 执行此操作后,所有function键都正常工作。 进步如此之多

我不得不将这些行添加到grub:

 acpi_backlight=vendor acpi_osi=linux thinkpad-acpi.brightness_enable=1 

注意最后一个。 这是使亮度键工作的那个。

您可以使用此程序包通过xbacklight命令从命令行(终端)处理亮度。

xbacklight 安装xbacklight 可以安装在软件中心。 或者在终端:

 sudo apt-get update && sudo apt-get install xbacklight 

您可以使用

  • xbacklight -inc 以增加值< ... >亮度

  • xbacklight -dec 以降低值< ... >亮度