Linux下屏幕亮度的调节
1 概述
Linux
下的屏幕调节可以通过图形界面或者命令行进行调节,图形界面的话主要就是在设置中进行调节,如果设置中没有相应的选项可以进行手动调节。
2 手动调节
2.1 手动屏幕调节
亮度由ACPI
内核模块控制,模块接口在/sys/class/backlight
,进入/sys/class/backlight
后会有一个叫intel_backlight
/nv_backlight
的文件夹(这个和硬件有关),再次进入后会有如下文件:
其中brightness
就是当前屏幕的亮度,max_brightness
是最大亮度,笔者的环境上显示如下:
需要调节亮度时,切换到root
用户,直接向brightness
写入数值即可调节亮度:
echo 50 > brightness
注意范围为[0-max_brightness]
,非法范围不能执行成功:
勇士可以试一下echo 0 > brightness
。
2.2 外接显示屏调节
如果是外接显示屏的话,使用上面的方法是不能调节的,需要使用另一条命令:
xrandr
输入之后会显示对应的外接接口,比如:
这里的HDMI-1
就是外接接口,然后通过:
xrandr --output HDMI-1 --brightness 0.5
进行亮度调节,亮度的范围是0-1
。该命令无需root
,可以直接执行。
3 自动调节
另外笔者搜索了一下找到了两个能自动调节屏幕两亮度的软件:
Calise
Redshift
建议使用后者,因为Calise
貌似很久没更新了,相比起Redshiift
有很大距离:
Redshift
安装很简单,笔者的机器上只需要:
yay -S redshift
Redshift
提供了命令行以及图形界面,可以通过经纬度以及当前时间进行自动调节,打开后会在托盘有个图标,右键有个选项info
,打开后可以看到当前的经纬度、色温以及处于白天或者黑夜状态,可以输入:
redshift -v
查看更多详细信息。
想手动调节亮度可以通过-b
调节,比如:
redshift -b 1.0:0.7
冒号前后分别表示白天以及夜晚的亮度,注意该命令会同时调节外接显示屏的亮度。其他更多选项请输入
redshift -h
查询。