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

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

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

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

详细信息:
          联想 B570(型号:20093)
          集成英特尔高清显卡
          Kubuntu 11.04(Linux 2.6.38-10-generic、KDE ​​4.7.0),所有内容均为最新版本
          无专有图形驱动程序(仅 Wi-Fi 驱动程序)

我尝试过的:

  • 编辑/etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT: acpi_osi=Linux, acpi_backlight=vendor, nomodeset。是的,我编辑了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”)

我该如何修复此问题?

答案1

如果 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
      

    这些命令返回亮度级别,范围从零到最大亮度(往上看)。

  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
    

答案2

尝试。它适用于我的 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

保存。注销并重新登录。

答案3

  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. 现在您可以使用终端来调整亮度,如下图所示建议经过莱肯施泰因
    如果您可以使用终端+更改亮度sudo,那么答案就到此为止。
    如果您使用的是 GNOME 桌面,亮度甚至可能已经完全发挥作用。

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

  5. 我们必须允许编辑亮度文件,这样就sudo不需要到处编辑了。
    另外,我们希望亮度设置在系统启动时自动恢复到以前的设置(不幸的是,默认情况下不会保存)。

    上述brightness脚本可以处理所有问题(带restore参数),只需将其添加到自动运行即可。
    为此,我们将编辑/etc/rc.localsudo nano /etc/rc.local或者使用任何编辑器代替 nano)。在行
    前添加以下行exit 0
    /usr/local/bin/brightness restore

  6. 最好现在重新启动。

  7. 所以brightness脚本成功了。你可以随时进入终端并输入以下内容:

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

    • XF86亮度提升brightness inc
    • XF86亮度降低brightness dec
  9. 如果你想调整某些内容,请务必查看/etc/bx_brightness.conf
    brightness inc您可以使用/ 更改亮度变化的步长dec


谢谢托兹感谢他提供的宝贵帮助此主题

答案4

我认为我找到了一种使用 udev 规则调整 intel_backlight 的简单且对现有事物影响最小的方法。

我注意到在运行内核 3.2 的联想 G360 笔记本上按Fn+ Up/时“背光”子系统会发生“更改”动作。因此我编写了如下Down规则:/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

相关内容