当前位置: 首页>>技术教程>>正文


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

, , , , ,

问题描述

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

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

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

我尝试过的:

  • 编辑/etc/default/grubGRUB_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”)

我该如何解决这个问题?

最佳解决办法

试试this。它适用于我的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工具失败,请尝试使用terminal

  1. Open a terminal

  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. 下载我的brightness changer script,允许它执行,并将其放入/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 nano /etc/rc.local或任何编辑器而不是nano)。在exit 0行之前添加以下行:/usr/local/bin/brightness restore

  6. 现在最好重新启动。

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

    • brightness – 获取当前亮度设置

    • brightness value – 将亮度设置为值

    • brightness inc stepbrightness dec step – 逐步增加或减少亮度(如果未指定,则从配置文件中使用默认值,通常为最大亮度的10%)

  8. 现在您可能希望将亮度变化映射到热键。

    • 将XF86BrightnessUp设置为brightness inc

    • 将XF86BrightnessDown设置为brightness dec

  9. 如果要调整某些内容,请务必查看/etc/bx_brightness.conf您可以使用brightness inc /dec更改亮度更改的步骤


感谢Tozthis thread中的无价帮助。

第四种办法

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

当我在运行内核3.2的Lenovo G360笔记本上按下Fn + Up /Down时,我注意到了”backlight”子系统的”change”动作。所以我写了一个/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-file):

Option      "Backlight"  "intel_backlight"

完整的部分现在是:

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1871.html,未经允许,请勿转载。