xbacklight:没有输出具有背光属性 - 没有 /sys/class/backlight 文件夹

Car*_*ser 38 backlight intel-graphics hp drivers xbacklight

我安装了xbacklight,希望它能控制我的亮度。尝试更改亮度时,我被告知“没有输出具有背光属性”。环顾四周,我发现这与我的电脑没有/sys/class/backlight文件夹有关。我知道这是问题所在,但不知道如何解决。

不确定是否需要,但这里有一些来自 inxi 的系统信息:

System:   Kernel: 3.16.0-57-generic x86_64 (64 bit, gcc: 4.8.2) 
          Desktop: LXDE (Openbox 3.5.2) Distro: Ubuntu 14.04 trusty
Machine:  HP EliteBook 8460p
CPU:      Dual core Intel Core i5-2520M CPU
Graphics: Advanced Micro Devices [AMD/ATI] Seymour [Radeon HD 6400M/7400M Series] 
Run Code Online (Sandbox Code Playgroud)

这与驱动程序(可能是 Intel/AMD 图形驱动程序)有关吗?

小智 34

检查您的/sys/class/backlight文件夹。如果您可以在intel_backlight那里看到一个文件夹,但仍然出现上述错误,那么/etc/X11/xorg.conf使用以下配置创建一个文件应该对您有用。它对我有用。

Section "Device"
    Identifier  "Intel Graphics" 
    Driver      "intel"
    Option      "Backlight"  "intel_backlight"
EndSection
Run Code Online (Sandbox Code Playgroud)

另外,请记住注销并再次登录以使更改生效。

参考:背光 - ArchWiki

  • 这个答案对于 `intel_backlight` 用户来说是**最直接的**。 (6认同)

Rap*_*ael 30

这是完全正常的。要查找背光设置的目录,请执行以下操作:

sudo find /sys/ -type f -iname '*brightness*'
Run Code Online (Sandbox Code Playgroud)

输出应该给你这样的东西:

/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/intel_backlight/brightness
Run Code Online (Sandbox Code Playgroud)

现在,您所要做的就是将其链接到/sys/class/backlight. 要做到这一点:

sudo ln -s /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/intel_backlight  /sys/class/backlight
Run Code Online (Sandbox Code Playgroud)

如果仍然出现错误,请执行以下操作:

创建文件xorg.conf

sudo nano /etc/X11/xorg.conf
Run Code Online (Sandbox Code Playgroud)

并添加这些行:

Section "Device"
Identifier  "Card0"
Driver      "intel"
Option      "Backlight"  "NAME OF THE FOLDER"
EndSection
Run Code Online (Sandbox Code Playgroud)

然后,要保存文件,请执行:Ctrl+ Xthen Ythen Enter

此外,对于Driver部分检查您的配置,即,acpi_video0intel_backlight.

  • 在我的计算机中,如果我打开文件 /sys/class/backlight/intel_backlight/brightness,我会在其中看到一个整数值。刚刚更改了值并保存,我的屏幕立即获得了正确的亮度。但是,如果我尝试使用建议的 ln 命令,我没有完全相同的文件夹,如果我尝试使用 intel_backlight 文件夹执行此操作,则会收到错误消息:ln:无法创建符号链接 '/sys/class/backlight /brightness': 不允许操作 (14认同)
  • “不允许操作”的原因之一可能是文件名包含应该转义的字符。我就是这样。 (5认同)
  • 如果该路径上已经有一个文件夹怎么办?如果它破坏了亮度(现在它至少可以从键盘控制),我该如何撤消这种替换 ln -s ?我尝试创建 `xorg.conf`,将 `intel_backlight` 和长绝对 *path* 添加到文件夹中。但它没有用。所以我应该: 1. 尝试 ln -s 因为它是无害的 2. 尝试一些其他的驱动程序名称(顺便说一句,我怎么知道它是路径的一部分?),或者 3. 不使用路径而是使用文件夹的名称(它与“Driver”字段相同,这就是我问的原因)? (3认同)
  • @YanKingYin 你是怎么做到的? (2认同)

Arn*_*rno 6

我不会推荐这种方式,因为它会启动旧的、维护不良的英特尔驱动程序,而不是模式设置驱动程序。

我创建了一个脚本而不是使用 xbacklight:

#!/bin/sh
val=$(cat /sys/class/backlight/intel_backlight/brightness)
if [ "$1" = "+" ] ; then
  val=`expr $val + 5`
else
  val=`expr $val - 5`
fi
echo $val | sudo tee /sys/class/backlight/intel_backlight/brightness
Run Code Online (Sandbox Code Playgroud)

并向 sudoers 添加了 tee。这不会产生英特尔驱动程序造成的副作用。


Ser*_*ndt 5

xbacklight控制所需的每一步

按着这些次序:

  1. $ sudo nano /etc/default/grub并将相应的行替换为 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
  2. $ sudo update-grub
  3. 不要开玩笑,请确保实际安装适当的驱动程序$ sudo apt install xbacklight xorg xserver-xorg-video-intel
  4. 发行$ find /sys -type f -name brightness应该产生类似的东西/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness
  5. $ cd /sys/class该目录应包含一个软链接brightness,该链接指向在上一步中发现的亮度设备。如果缺少,请创建它:$ sudo ln -s /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness /sys/class/brightness
  6. $ sudo nano /etc/X11/xorg.conf 应该读:
Section "Device"
    Identifier      "Device0"
    Driver          "intel"
    Option          "Backlight"      "intel_backlight"
EndSection

Section "Monitor"
    Identifier      "Monitor0"
EndSection

Section "Screen"
    Identifier      "Screen0"
    Monitor         "Monitor0"
    Device          "Device0"
EndSection
Run Code Online (Sandbox Code Playgroud)
  1. 此处为 Xubuntu LTS 或 XFCE 用户解释了物理XF86MonBrightnessDownXF86MonBrightnessUp密钥的分配。
  2. 最后,重新启动以使这些更改生效。

  • 对于第 5 步,我不断收到“ln: 无法创建符号链接 '/sys/class/brightness': 不允许操作” (3认同)