完整版:https://blog.csdn.net/weixin_43599336/article/details/85981442
写在前面
此方法仅适用于只含Intel集成显卡的便携式笔记本计算机!!
请先尝试https://blog.csdn.net/u013991521/article/details/49562365
的方案,如果失败,再使用这个
原先的亮度调节毫无作用
正文
请先安装screen,执行
sudo apt-get install screen
# 在etc目录建立“auto_run”文件夹以及两个文件
cd /etc/
sudo mkdir auto_run
sudo touch auto_run.sh
sudo touch change.py
打开auto_run.sh文件
sudo nano /etc/auto_run/auto_run.sh
加入以下片段
screen_name="auto_run"
screen -dmS $screen_name
#以下路径为python程序的路径
cmd="python3 /etc/auto_run/change.py";
screen -x -S $screen_name -p 0 -X stuff "$cmd"
screen -x -S $screen_name -p 0 -X stuff '\n'
按ctrl+X退出,y保存
打开change.py
sudo nano /etc/auto_run/change.py
加入
import time
while True:
# 先读取Fn组合键保存的文件
acpi_l = open("/sys/class/backlight/acpi_video0/brightness")
# 简单的线性调整,偏置值+20 为了在调至最暗时不至于黑屏 480权重请自己测试,不同机型可能不一样
brightness= str(int(acpi_l.read()) * 480 + 20)
acpi_l.close()
# 以“w”模式打开,方便清空
intel_l = open("/sys/class/backlight/intel_backlight/brightness","w")
intel_l.write(brightness)
intel_l.close()
# 等待0.5s,在不过多占用系统资源的情况下获得较好的体验
time.sleep(0.5)
注意,不同机型的最大亮度值可能会不一样
查看方法:
sudo nano /sys/class/backlight/intel_backlight/brightness
显示的数字即为最大亮度数字,然后自己回归一下,建一个函数即可(0为黑屏)
acpi_l.read() 的值从0 – 10。
按ctrl+X退出,y保存
在/etc/rc.local中加入
sudo nano /etc/rc.local
如果没找到/etc/rc.local或为空文件,请参考https://blog.csdn.net/weixin_43599336/article/details/85970601
sudo chmod -R 777 /sys/class/backlight/intel_backlight/brightness
# 刚刚的sh文件路径
sh /etc/auto_run/auto_run.sh
按ctrl+X退出,y保存
重启
sudo reboot
等待启动完成后即可测试!
左图是正常的一格亮度,右图实为满格。
从反光可以看出,亮度调节已正常