全新安装 Debian 后,我无法通过“ xbacklight
”工具控制显示器亮度(“没有输出具有背光属性”)。虽然这很奇怪(因为在重新安装操作系统之前,它在同一台机器上运行得很好),但我想知道如何手动处理背光控制。
我找到了有关通过“ echo 700 | sudo tee /sys/class/backlight/intel_backlight/brightness
”等文件进行管理的提示。虽然这有效,但我担心以下两个主题。
- 这安全吗?(我是否会不小心输入太高的值并以此方式制动我的硬件?)
- 他们是更舒适的方式吗要做到这一点? (我如何使用这样的工具
xbacklight
?)
答案1
是的,它是完全安全的。 echoing into
/sys
(或/proc
) 不会直接覆盖内核配置,它会运行一个验证输入的内核用户空间函数。xrandr
/xbacklight
实际上执行得差不多(据我所知)。因为它之前工作过,我打赌这
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
。