春暖花开

如何在 Linux 命令行中更改屏幕亮度

寒假的时候,笔记本又坏了,这次比前面两次还要更严重,直接开不了机。于是好了,一个寒假在家什么也没干。到学校的第一天就把电脑送去维修,今天才拿回来。好吧,这已经是第三次维修了。取电脑的时候,我问维修的工程师,这次是哪儿坏了。他回答,主板坏了。我说,主板不是刚刚才换了没多久的吗……他说,又坏了。我竟无言以对。

电脑确实修好了。不过拿回来以后,发现屏幕怎么这么暗,然后我通过桌面设置调节,竟然无法调节,即使调到最大也没变化。我心里一凉,是不是硬件上哪儿又坏了。我切回 Windows 系统,惊喜的发现,亮度是可以调节的,那就好办了,既然是软件的问题,咱就可以自己解决。桌面无法调节,那就直接在命令行手动设置亮度值。

首先,查看屏幕亮度的最大值:

1
2
fenglv@segmentfault:~$ cat /sys/class/backlight/intel_backlight/max_brightness
7500

输出结果表明,亮度最大值为 7500 ,因此,可以在 0 ~ 7500 之间。

然后,再查看一下当前的亮度值:

1
2
fenglv@segmentfault:~$ cat /sys/class/backlight/intel_backlight/brightness
957

当前亮度为 957,这 TM 屏幕能不暗吗?

如果要更改屏幕亮度,那么只需手动更改 /sys/class/backlight/intel_backlight/brightness 文件内容即可。至此,你就应该知道怎么办了。

设置启动时的默认亮度

如果要设置电脑启动时候的默认亮度,那么,只需要在文件 /etc/rc.local exit 0 前面加上如下一行内容:

1
echo 5500 > /sys/class/backlight/intel_backlight/brightness

如上,我把启动时候的亮度值设置为 5500。

自定义亮度

另外,为了每次方便的设置亮度,我写了一个小脚本,并命名为 chbgn ,然后增加执行权限,并放在 $HOME/bin 目录下,这样,每次要设置亮度的时候就可以很方便的进行交互式设置了,体验不比图形界面差。脚本内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env bash
# 一个用于调节屏幕亮度的脚本
if [[ "$USER" != "root" ]]; then
echo "The program must be executed under the root user.";
exit 0;
fi
echo -n "Please input the brightness value(0 ~ 7500): ";
read int;
value=`expr $int + 0`;
expr $value &>/dev/null;
if [ $? -ne 0 ]; then
echo "Input must be an integer. Change brightness failed!!!"
exit 0;
fi
if [ $value -ge 0 ] && [ $value -le 7500 ]; then
echo $value > /sys/class/backlight/intel_backlight/brightness
echo "The brightness of the Computer has successfully changed ^_^"
exit 0;
fi
echo "Input must be an integer betwwen 0 and 7500. Change brightness failed!!!";
exit 0;

0%