答案1
我找到了一个使用 bash 脚本和 systemd 服务的解决方案,适用于任何可能遇到并希望保持屏幕亮度的人。
- 编写一个 bash 脚本并将其放置在您认为合适的位置。这是我的示例,我将其命名为
Brightness_Checker.bash
。还要创建一个文本文件,名称类似于Brightness_Checker.backup
,这将用于存储亮度值。您将需要sLoc
使用该路径更新.backup
文件。
#!/bin/bash
bLoc=/sys/class/backlight/intel_backlight/brightness
sLoc=/home/kar/Programs/BashTools/Brightness_Checker.backup
bVal=$(cat $sLoc)
echo $bVal > $bLoc
while :
do
cVal=$(cat $bLoc)
if [ $cVal = "0" ];
then
echo 1 > $bLoc
cVal=1
fi
if [ $bVal != $cVal ];
then
bVal=$cVal
echo $bVal > $sLoc
fi
sleep 10
done
- 在其中
/etc/systemd/system
创建一个类似于我的服务文件,其中 ExecStart 将指向你的 bash 脚本:
[Unit]
Description = Brightness checker
[Service]
ExecStart=/home/kar/Programs/BashTools/Brightness_Checker.bash
[Install]
WantedBy=multi-user.target
从这里您要启用该服务:
sudo systemctl enable Brightness_Checker.service
然后重新启动您的电脑。
注意:如果亮度为 0,则回显 1 的原因是由于某些超出我的薪酬等级的东西导致启动时将亮度重置为最亮。
编辑:有一件事我忘了提,为了安全起见,我建议将这两个文件设为 root 所有者,并删除除 root 之外所有人的写访问权限,否则该脚本的任何更新都可能在下次启动时运行。