重启后显示屏亮度重置

重启后显示屏亮度重置

我正在使用带有 Ubuntu 20.04 的 XMG Core 15。(内核 5.11.0.27-generic,因为较新的内核会导致我的屏幕出现问题)和 NVIDIA GeForce RTX 2060(NVIDIA 驱动程序 470)和 AMD Ryzen 7 4800H。我的问题是,每次重新启动笔记本电脑时,显示亮度都会重置为最小值,但实际屏幕亮度是最大值。如果我在设置中仔细检查,亮度滑块处于最小位置。奇怪的是,如果我插入或拔出电源线,屏幕亮度会跳转到设置中的值。这不是什么大问题,但真的很烦人。我现在的问题是,如何防止它每次重启时重置亮度并将亮度设置为特定值。我希望我已经以一种易于理解的方式描述了这个问题。

如果您需要更多信息,请随时询问。我很高兴能为您提供帮助。

谢谢,并致以最诚挚的问候,丹尼尔

更新 #1。撤消第一步并执行更新 #1 中的步骤后,重启后亮度仍会重置。我做了以下修改:

  • -rwxr-xr-x 1 root root 180 Feb 7 19:20 set_brightness.sh*创建一个包含/etc/rc.local以下内容的文件:

    #!/bin/sh
    #. 设置特定亮度级别以解决错误
    #. 请参阅 /etc/systemd/system/set_brightness.service
    #.
    sleep 15; echo 255 | tee /sys/class/backlight/amdgpu_bl0/brightness

  • 创建第二个文件-rw-r--r-- 1 root root 172 Feb 7 19:23 set_brightness.service/etc/systemd/system内容如下:

    [单元]

    描述=设置屏幕亮度来解决错误

    [服务]

    类型=oneshot

    ExecStart=/bin/sh /etc/rc.local/set_brightness.sh

    [安装]

    WantedBy=多用户.目标

状态如下:

(base) daniel@xmg-daniel:/etc/systemd/system$ systemctl status set_brightness.service
● set_brightness.service - Set screen brightness to work around bug
     Loaded: loaded (/etc/systemd/system/set_brightness.service; disabled; vendor preset: enabled)
     Active: inactive (dead)

输出ls -al /sys/class/backlight/

total 0
drwxr-xr-x  2 root root 0 Feb  7 19:49 .
drwxr-xr-x 84 root root 0 Feb  7 19:49 ..
lrwxrwxrwx  1 root root 0 Feb  7 19:49 amdgpu_bl0 -> ../../devices/pci0000:00/0000:00:08.1/0000:06:00.0/backlight/amdgpu_bl0

其他一些备注:第一次修改时,亮度滑块被设置为与重启前相同的位置,实际亮度也与重启前相同,但插入或拔出电源线后,亮度自动设置为最低。此外,通过此修改,我的蓝牙在重启后自动打开,尽管我每次都将其关闭。撤消第一次修改并执行更新 #1 后,蓝牙问题得到解决,但看起来解决方法不起作用。

按照评论中提到的@heynnema 的步骤操作后,我得到了以下输出systemctl status set_brightness.service

● set_brightness.service - Set screen brightness to work around bug
     Loaded: loaded (/etc/systemd/system/set_brightness.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Mon 2022-02-07 20:14:00 CET; 7s ago
    Process: 4546 ExecStart=/bin/sh /etc/rc.local/set_brightness.sh (code=exited, status=0/SUCCESS)
   Main PID: 4546 (code=exited, status=0/SUCCESS)

Feb 07 20:13:45 xmg-daniel systemd[1]: Starting Set screen brightness to work around bug...
Feb 07 20:14:00 xmg-daniel sh[4549]: 255
Feb 07 20:14:00 xmg-daniel systemd[1]: set_brightness.service: Succeeded.
Feb 07 20:14:00 xmg-daniel systemd[1]: Finished Set screen brightness to work around bug.

但问题仍然存在。插入或拔出电源线时,亮度会自动切换到最低。

抱歉,我的更新格式不好,我想对这两个文件的内容进行代码采样,但不知何故它不起作用......

答案1

在启动时(和关机时),/lib/systemd/系统/[电子邮件保护]尝试恢复(保存)背光级别,但并非总是正确执行此操作。因此,启动后屏幕亮度会降低。cat如果您希望查看其内容,请键入该文件。输入man systemd-backlight以获取更多背景信息。

编辑/etc/default/grub...

sudo -H gedit /etc/default/grub

找到如下行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

编辑它看起来像这样:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.restore_state=0"

然后:

sudo update-grub

reboot

更新#1:

可能比上面的内核行模式效果更好。需要花点时间才能让它在您的配置中运行,但我认为您已经具备所需的技能 :-)

  • 首先,撤消上面的修改

  • 查看您的计算机上是否存在名为 /etc/rc.local 的文件

    • ls -al /etc/rc.local
  • 如果它没有存在,在 /etc/rc.local 创建一个文件夹

    • sudo mkdir /etc/rc.local
  • 如果它存在,继续之前先跟我谈谈

  • 将其放入 /etc/rc.local 文件夹,并将其命名为set_brightness.sh


#!/bin/sh
# Set specific brightness level to work around bug
# See /etc/systemd/system/set_brightness.service
#
sleep 15; echo 80 | tee /sys/class/backlight/dell_uart_backlight/brightness

笔记:您需要将dell_uart_backlight路径名更改为您自己的配置

笔记:如果你的系统运行缓慢,可能需要增加睡眠定时器

笔记:80 是所需亮度设置

它看起来应该是这样的:

-rwxr-xr-x   1 root root   189 Jan 17 15:57 set_brightness.sh
  • 将其放入 /etc/systemd/system/ 文件夹,并将其命名为set_brightness.service

[Unit]
Description=Set screen brightness to work around bug

[Service]
Type=oneshot
ExecStart=/bin/sh /etc/rc.local/set_brightness.sh

[Install]
WantedBy=multi-user.target

它看起来应该是这样的:

-rw-r--r-- 1 root root 172 Sep 27 16:24 /etc/systemd/system/set_brightness.service
  • sudo systemctl enable set_brightness.service

  • 然后reboot

还有这个状态:

$ systemctl 状态 set_brightness.service

○ set_brightness.service - 设置屏幕亮度以解决错误
     已加载:已加载(/etc/systemd/system/set_brightness.service;已启用;供应商预设:已启用)
     活跃:自 2022-02-03 星期四 20:13:23 PST 以来处于不活跃状态(已死亡);1 天 10 小时前
    进程:1102 ExecStart=/bin/sh /etc/rc.local/set_brightness.sh(代码=exited,状态=0/SUCCESS)
   主 PID:1102(代码=退出,状态=0/成功)
        CPU:23毫秒

2 月 3 日 20:13:08 al-Inspiron-7700-AIO systemd[1]: 开始设置屏幕亮度以解决错误...
2 月 03 日 20:13:23 al-Inspiron-7700-AIO sh[3320]: 80
2 月 3 日 20:13:23 al-Inspiron-7700-AIO systemd[1]: set_brightness.service: 已成功停用。
2 月 3 日 20:13:23 al-Inspiron-7700-AIO systemd[1]: 已完成设置屏幕亮度以解决错误。

更新 #2:

两种修改都未能解决问题。两种修改均已删除。

但是,启动到 Ubuntu Live 21.10 可以解决问题,但由于一些其他软件问题,用户此时无法升级。

相关内容