手动控制显示屏背光

手动控制显示屏背光

全新安装 Debian 后,我无法通过“ xbacklight”工具控制显示器亮度(“没有输出具有背光属性”)。虽然这很奇怪(因为在重新安装操作系统之前,它在同一台机器上运行得很好),但我想知道如何手动处理背光控制。

我找到了有关通过“ echo 700 | sudo tee /sys/class/backlight/intel_backlight/brightness”等文件进行管理的提示。虽然这有效,但我担心以下两个主题。

  1. 这安全吗?(我是否会不小心输入太高的值并以此方式制动我的硬件?)
  2. 他们是更舒适的方式吗要做到这一点? (我如何使用这样的工具xbacklight?)

答案1

  1. 是的,它是完全安全的。 echoing into /sys(或/proc) 不会直接覆盖内核配置,它会运行一个验证输入的内核用户空间函数。

    xrandr/xbacklight实际上执行得差不多(据我所知)。

  2. 因为它之前工作过,我打赌这xbacklight只是在/sys/class/backlight.我想那里有不止一个目录,对吗?

    我不是 100% 确定,但是

    xrandr/将在尝试类似的操作(这是您当前的驱动程序正在创建/使用的目录)之前xbacklight选择acpi目录(例如)。/sys/class/backlight/acpi_video0/sys/class/backlight/intel_backlight/

    (我不是100%确定,但找到了一个像样的arch wiki 上的参考或多或少证实了这一点

    要强制xbacklight使用正确的目录,您可以将以下内容添加到xorg.conf(或者最好将*.conf文件放入/etc/X11/xorg.conf.d/)以下部分:

    Section "Device"
      Identifier  "Card0"
      Driver      "intel"
      Option      "Backlight" " intel_backlight"
    EndSection
    

    (免责声明:我没有测试过它,因为我没有英特尔卡,如果这部分不起作用,你可以尝试"Card0"替换"Screen0"

答案2

由于您确实对系统没有那种级别的控制权,因此不可能存在因输入过高的值而损坏硬件的风险。您放入文件中的值/sys/class/backlight/acpi_video0/brightness将由硬件固件解析为相应的背光强度值,该值实际上控制屏幕背光的亮度。目录的内容/sys和 也是/proc由内核在运行时生成的。要查看这一点,您可以挂载另一个 Linux 系统的文件系统并列出/sys和的内容/proc。如果系统关闭,您将在这些目录中看不到任何内容。

另外,为了避免向文件写入过高的 aa 值而造成麻烦/sys/class/backlight/acpi_video0/brightness,您可以通过读取文件来查看最大可能值/sys/class/backlight/acpi_video0/max_brightness

相关内容