我想在 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
: