在显示管理器/启动时记住屏幕亮度

在显示管理器/启动时记住屏幕亮度

多年来,我在不同的 PC 上反复使用 Linux,但有一个问题我一直无法解决,那就是启动过程中显示管理器中的亮度设置。

我正在运行 KDE 版本的 ubuntu,因此我安装了 sddm。通过 Google 搜索和 Arch wiki,我无法在显示管理器中找到与亮度设置相关的任何内容。登录后,我设置了一个脚本将其降低到我最喜欢的亮度。

有没有办法在首次启动时更改亮度,甚至可以通过硬编码来更改亮度?据我所知,这不是显示管理器的设置。

电脑规格

答案1

我找到了一个使用 bash 脚本和 systemd 服务的解决方案,适用于任何可能遇到并希望保持屏幕亮度的人。

  1. 编写一个 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
  1. 在其中/etc/systemd/system创建一个类似于我的服务文件,其中 ExecStart 将指向你的 bash 脚本:
[Unit]
Description = Brightness checker

[Service]
ExecStart=/home/kar/Programs/BashTools/Brightness_Checker.bash

[Install]
WantedBy=multi-user.target
  1. 从这里您要启用该服务:

    sudo systemctl enable Brightness_Checker.service
    

然后重新启动您的电脑。

注意:如果亮度为 0,则回显 1 的原因是由于某些超出我的薪酬等级的东西导致启动时将亮度重置为最亮。

编辑:有一件事我忘了提,为了安全起见,我建议将这两个文件设为 root 所有者,并删除除 root 之外所有人的写访问权限,否则该脚本的任何更新都可能在下次启动时运行。

相关内容