标题说明了一切。当我锁定时,它保持不变,但如果我暂停,我会说它的亮度会 +100% 或者我不知道该怎么称呼它。如果我将亮度设置为 0,我会看到灰色屏幕,如果我将其设置为 1,我会看到具有大量白色色调的屏幕
顺便说一下,在启动时它也能完美运行。只有在挂起时它才会崩溃
答案1
我有一台戴尔 XPS 13,几年前就遇到过这个问题。解决办法是编写一个脚本,在睡眠或休眠时保存当前亮度设置,然后在唤醒时重新应用该亮度。
您可以按照以下方法执行相同操作:
打开终端(如果尚未打开)
/etc/pm/sleep.d
使用root
您喜欢的文本编辑器创建一个文件:sudo vi /etc/pm/sleep.d/10_brightness_control
粘贴以下内容:
#!/bin/bash # Description: Save the brightness before sleeping and set after waking case "${1}" in hibernate|sleep) before_suspend=$(cat /sys/class/backlight/*/brightness) ;; resume|thaw) sleep 0.33 && echo "$before_suspend" > /sys/class/backlight/*/brightness ;; esac
将文件设置为可执行文件:
sudo chmod +x /etc/pm/sleep.d/10_brightness_control
这就是全部内容。现在,当系统进入休眠或睡眠状态时,亮度级别将被捕获并存储在 中$before_suspend
。当系统从此状态唤醒时,该值将在 0.33 秒后写入brightness
下存在的所有文件/sys/class/backlight/*
(大多数计算机只有一个)。延迟考虑到此脚本运行的情况前桌面环境设置了亮度级别。因此,您可能会在一瞬间看到刺眼的光线,然后才能看到一些可读的内容。
此方法已在 Ubuntu Desktop 18.04、Ubuntu MATE 18.04、Ubuntu MATE 18.10、Ubuntu Desktop 19.10 和 Ubuntu Desktop 20.04 上测试并确认有效。
文件注释10_brightness_control
:
- 该文件可以任意命名,但最好在前面有两位数字
10
- 文件必须位于
/etc/pm/sleep.d/
- 该文件必须归
root
sudo chown root:root /etc/pm/sleep.d/10_brightness_control
- 该文件必须是可执行的
sudo chmod +x /etc/pm/sleep.d/10_brightness_control
希望这能满足您的需求
答案2
我做了一些测试,发现@user1091774 的答案部分正确。我想以评论的形式分享这个,但声誉不够。
在 ubuntu 22.04 上,你需要保存这样的脚本/lib/systemd/system-sleep
(来自这里)并使其可执行。您还需要更改大小写,因为 sleep 将具有邮政和前代替睡觉和解冻。您不需要将值保存在变量中,只需读取并将相同的值保存到文件中即可完成工作。
这个脚本对我有用:
#!/bin/sh
# Description: Set brightness upon awakening
case "$1" in
post)
sleep 0.33 && cat /sys/class/backlight/nv_backlight/brightness | tee /sys/class/backlight/nv_backlight/brightness
;;
esac