我可以通过以下方式轻松更改我的显示器亮度:
xrandr --output VGA1 --brightness 0.25
虽然这只是一个软件的修改,但它确实可以解决问题。根据手册,
xrandr
是 RandR 扩展的原始命令行接口,很可能可以通过程序来改变我的监视器亮度。然而,在它的头文件<X11/extensions/Xrandr.h>
中,我并没有找到任何相关的 API。如何在 C 语言中使用 X11 RandR 扩展库来改变显示器亮度?
我可以通过以下方式轻松更改我的显示器亮度:
xrandr --output VGA1 --brightness 0.25
xrandr
是 RandR 扩展的原始命令行接口,很可能可以通过程序来改变我的监视器亮度。然而,在它的头文件<X11/extensions/Xrandr.h>
中,我并没有找到任何相关的 API。是的,xrandr扩展,RRChangeOutputProperty请求。使用libXrandr库时,它是XRRChangeOutputProperty函数。请参见xbacklight源代码中的用法示例。
xbacklight
和xrandr --brightness
是完全不同的。如果可能,xbacklight
控制硬件亮度,但xrandr
则不会。 - Kevin Dongxrandr
如何实现亮度。xblacklight
不会影响我的显示器亮度,但xrandr
会。 - Kevin Dongxrandr --set backlight
)可能不会影响您的显示器,因为并非每个xf86-video驱动程序都支持其RandR的backlight属性。相反,Xrandr
--brightness
只是在服务器内部使用伽马和颜色进行“软件”处理,这就是为什么它总是看起来有效的原因。 - mirh