Linux下屏幕亮度的调节
阅读原文时间:2023年07月10日阅读:1

1 概述

Linux下的屏幕调节可以通过图形界面或者命令行进行调节,图形界面的话主要就是在设置中进行调节,如果设置中没有相应的选项可以进行手动调节。

2 手动调节

亮度由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

如果是外接显示屏的话,使用上面的方法是不能调节的,需要使用另一条命令:

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

查询。