开机时自动恢复屏幕亮度

开机时自动恢复屏幕亮度

我想在 ubuntu 19.04 上运行此脚本,在启动操作系统后恢复以前的屏幕亮度:

echo 50 > /sys/class/backlight/nvidia_0/brightness

我如何运行该脚本才能使其在正确的时刻生效?

答案1

在 Ubuntu 20.04.2 LTS 中我解决了这个问题通过创建 cron 作业

sudo crontab -e

并在文件末尾添加此行:

@reboot (sleep 2 ; echo 80 > /sys/class/backlight/nvidia_0/brightness) &

我发现 2 秒的时间足以覆盖 Nvidia 在启动时的重置时间。您可以根据自己的喜好调整亮度级别(80)。

PS:刚刚发现需要进行额外的修复:尽管上述代码修复了启动时的亮度,但当计算机从睡眠/休眠状态唤醒时,它不会这样做,Nvidia 会再次将亮度重置为最大。要解决此问题,请在 /lib/systemd/system-sleep/ 文件夹中的文件中另外创建以下脚本:

#!/usr/bin/env bash
 action="$1"
 case $1 in
   post)
     echo 80 > /sys/class/backlight/nvidia_0/brightness
     ;;
 esac

答案2

将其放入脚本中,例如 bright.sh. ,顶部带有 #!/bin/bash (不确定是否有必要)使其可执行(右键单击,权限,可执行),然后将其放入启动应用程序中 - 电源键然后键入启动,选择启动应用程序,添加按钮,键入(<> 是您的特定位置)

bash "/home/<username>/<MySctipts>/brightness.sh"

答案3

您的系统可能已设置为自动恢复上次亮度设置。但是,您可以在底部编辑/etc/rc.local并插入此行:exit 0

echo 50 > /sys/class/backlight/nvidia_0/brightness

cron@reboot请注意,如果rc.local-service未设置,您还可以使用systemd

相关内容