为什么 Ubuntu 在加载屏幕上重置亮度设置?

为什么 Ubuntu 在加载屏幕上重置亮度设置?

自从我第一次安装 Ubuntu 11.10 以来,我注意到每次 Ubuntu 启动时音量和屏幕亮度都会重置。

为什么会这样?有什么方法可以在重启后保持亮度和音量水平?

我发现了一些在登录时改变屏幕亮度的脚本。但这不是一个好的解决方案,因为

  • 登录速度较慢,因为它似乎要等到屏幕亮度达到脚本指定的级别。输入密码后,我看到屏幕亮度逐渐降低。只有在完成后(约 1 或 2 秒),背景才会消失,Unity 才会出现。
  • 屏幕亮度不会被记住,而是在登录时重新定义。因此,它会在启动的第一部分被记住,然后设置为 MAX,然后再次由脚本重新设置为正常值。我的启动过程如下:
    所需亮度:2(13,33%)/最大亮度:15(100%)
    1. BIOS/亮度:好
    2. GRUB(紫色背景颜色,白色文字)/亮度:OK
    3. Ubuntu 加载屏幕上显示点/亮度:MAX(win7 加载时亮度正常)
    4. 用户登录/亮度:MAX
    5. Unity启动/亮度:OK
  • 它看起来更像是一个临时补丁而不是真正的解决方案。

我正在寻找能够在整个启动过程中永久且一致地设置所需亮度的解决方案

更新到 12.04 后行为相同。

我试过

  • setpci -s 02:00.0 F4.B=XX
    无论我尝试将 F4.B 设置为什么值(尝试过 0、ff、f、5 等),其值始终为“0”
  • 这个答案中的解决方案没有任何明显的效果:重启后桌面无法记住亮度设置
    如果/sys/class/backlight/acpi_video0/我使用Fn+UPFn+DOWN

任何帮助都非常感谢。谢谢!

答案1

使用本指南,您可以在重启/关机时保存亮度级别,并在系统启动后恢复。这不会影响系统启动时间。


Ctrl在您的主目录(或其他任何地方)中创建一个文本文件以保存其中的亮度级别。按+ Alt+打开终端T,然后输入以下命令:

sudo gedit /home/brightness

保存并退出 gedit。让它保持空白。然后在终端中输入此命令:

sudo gedit /etc/rc0.d/K99FixBrightness

并将以下 bash 脚本复制粘贴到其中:

#!/bin/bash
brightness=`cat /sys/class/backlight/acpi_video0/brightness`
echo $brightness > /home/brightness
exit 0

然后通过在终端中输入以下内容使其可执行:sudo chmod 644 /etc/rc0.d/K99FixBrightness。对 rc6.d 目录重复上述步骤:

sudo gedit /etc/rc6.d/K99FixBrightness

就是这样:

#!/bin/bash
brightness=`cat /sys/class/backlight/acpi_video0/brightness`
echo $brightness > /home/brightness
exit 0

然后通过在终端中输入:使其可执行sudo chmod 644 /etc/rc6.d/K99FixBrightness。到目前为止,我们设置了在关机和重启之前保存在 /home/brightness 中的亮度级别。只差一步!在终端中输入以下命令:

sudo gedit /etc/rc.local

在最后一行“exit 0”之前添加这一行:

brightness=`cat /home/brightness`
echo $brightness > /sys/class/backlight/acpi_video0/brightness

保存并退出 gedit。现在系统启动时将加载最后的亮度级别!

完毕! :)

答案2

您是否尝试过以下操作?

打开终端(按 Ctrl+Alt+T)并输入:

sudo gedit /etc/rc.local

在最后一行“exit 0”之前添加这一行:

echo 4 > /sys/class/backlight/acpi_video0/brightness

答案3

此方法不会减慢任何速度。按 Ctrl+Alt+t 打开终端,然后使用 -

cat /sys/class/backlight/acpi_video0/max_brightness

它会给你最大的亮度值,在启动后改变它

sudo gedit /etc/rc.local

并在退出之前添加下面显示的行,看看我附上的屏幕截图-

echo 0 > /sys/class/backlight/acpi_video0/brightness

将 0 更改为从上一个命令输出中获得的开始值。

如图所示-这里正在改变

现在只需保存并重新启动即可。希望它能帮到你。

相关内容