当前位置: 首页>>技术教程>>正文


每次重新启动时,亮度都会重置为最大值

,

问题描述

我的笔记本电脑的亮度在每次重新启动时重置为最大值。我尝试了this website提供的解决方案,但没有运气。

这个命令

cat /sys/class/backlight/acpi_video0/max_brightness

返回

cat: /sys/class/backlight/acpi_video0/max_brightness: No such file or directory

然后我发现我没有名为acpi_video0的文件夹,但是名为intel_backlight的文件夹:

brightness,ubuntu

每次使用亮度控制键增加或减少亮度时,brightnessactual_brightness中的值都会更新。

是否有任何方法可以将每次启动时的亮度设置为固定值,并根据需要使用亮度控制键更改亮度?

最佳解决方法

你可以尝试在/etc/rc.local中添加一行来设置所需的亮度级别。要编辑文件,请运行

sudo -H gedit /etc/rc.local

并添加以下内容

echo X > /sys/class/backlight/intel_backlight/brightness

以便最终结果如下所示

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo X > /sys/class/backlight/intel_backlight/brightness

exit 0

用所需的亮度等级替代X

PS:或者,可能有/sys/class/backlight/acpi_video0/brightness而不是上述。亮度级别变化很大,可能范围从0到10或1000.要找到最大值,请尝试

cat /sys/class/backlight/acpi_video0/max_brightness
or
cat /sys/class/backlight/intel_backlight/max_brightness

次佳解决方法

我将我的小脚本转换为用于保存和恢复背光(亮度)级别的Ubuntu包。它位于我的PPA中,并命名为sysvinit-backlight。它包含放置在/etc/init.d/sysvinit-backlight中的syvinit init-script。它与Ubuntu 12.04 LTS和14.04 LTS兼容。 Ubuntu 14.10用户应该升级到15.04并使用内置的systemd-backlight服务。

您可以使用以下命令安装我的脚本:

sudo add-apt-repository ppa:nrbrtx/sysvinit-backlight
sudo apt-get update
sudo apt-get install sysvinit-backlight

你可以通过删除它

sudo apt-get purge sysvinit-backlight

请注意:如果您安装了我的脚本的以前版本,请将其删除

sudo rm /etc/rc?.d/?25backlight /etc/init.d/brightness /etc/rc?.d/?25brightness

脚本功能是:

  • 在重启和关机时保存所有视频适配器和键盘的背光(亮度)级别(运行级别0和6)

  • 加载启动时所有视频适配器和键盘的背光(亮度)级别(运行级别S,1,2,3,4和5)

脚本选项是:

  • sudo service sysvinit-backlight status(显示当前亮度级别并保存为文件值)

  • sudo service sysvinit-backlight start(从文件设置保存的级别)

  • sudo service sysvinit-backlight stop(将当前级别保存到文件)

您可以在这里或在启动板上与我联系。

第三种解决方法

最简单的方法:

  1. 打开一个终端窗口。

  2. 输入以下命令,然后按Enter键。

    sudo apt-get install xbacklight
    
  3. 打开启动应用程序首选项菜单。

  4. 点击添加按钮并添加以下信息:

    • 名称:亮度

    • 命令:xbacklight -set 60

  5. 将60替换为您喜欢的任何亮度级别。

来源:Set Startup Display Brightness

第四种方法

rc.local中尝试解决方法之前,有必要尝试以下操作:

  • 添加简单:quiet splash acpi_backlight=vendor grub看起来对我的配置已经足够了。

    1. sudo gedit /etc/default/grub

    2. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset acpi_backlight=vendor"替换GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    3. sudo update-grub并重新启动。

从事:

  • Ubuntu 12.04 LTS(华硕U31SD-XH51)

  • Ubuntu 14.04 LTS(戴尔14z)

  • Ubuntu 14.04 LTS(联想g500,删除nomodeset,它会正常工作)

第五种方法

我修改了/etc/rc.local中的代码,如下所示:

获得最大亮度:

$ cat /sys/class/backlight/intel_backlight/max_brightness
4882

运行gksudo gedit /etc/rc.local并编辑文件:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo 4882 > /sys/class/backlight/intel_backlight/brightness
exit 0

这对我有效。

第六种方法

这里提供的解决方案是system-dependent。

一个好的设计是有一个地方照顾system-dependent细节并提供一个统一的界面。看来目前内核通过/sys并没有提供这样简单的接口。但在X级别,有一个:xbacklight

基于xbacklight的解决方案在How do I set default display brightness?上提供,11.10及更高版本。

另外,某些区域(例如http://ubuntuguide.net/how-to-save-screen-brightness-settings-in-ubuntu-12-04-laptop)报告的问题不应该在某些情况下返回错误的亮度。

第七种方法

安装xbacklight(sudo apt-get install xbacklight)并添加

xbacklight -set x

(其中’x’ = 0到100所需的亮度)通过仪表板启动应用程序。例如:

xbacklight -set 50

第八种方法

如何调试背光:

https://wiki.ubuntu.com/Kernel/Debugging/Backlight

不幸的是,只是添加acpi_backlight =供应商似乎并没有保存我的12.04联想G575的默认值。

第九种方法

我的笔记本电脑是Compaq Presario CQ62 111TU,安装了Ubuntu 12.04。下面的步骤对我很好。

  1. 将屏幕亮度调整到您喜欢的级别。

  2. 打开终端并输入cat /sys/class/backlight/intel_backlight/actual_brightness并取下该值。

  3. 输入cat /sys/class/backlight/acpi_video0/actual_brightness并取下该值。

  4. 输入sudo gedit /etc/rc.local并在gedit的最后一行exit 0之前添加它们:

    echo ValueFromStep2 > /sys/class/backlight/intel_backlight/brightness
    echo ValueFromStep3 > /sys/class/backlight/acpi_video0/brightness
    

保存和享受。

我的设置如下所示

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

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

exit 0

第十种方法

我发现N0rbert的解决方案是最好的解决方案,因为他提供的脚本允许在启动时恢复以前的亮度级别。

虽然,我不得不在他的解决方案中引入一些小改动,以使其发挥作用。我没有创建他提到的符号链接,而是提供了以下内容:

ln -s /etc/init.d/brightness /etc/rc0.d/S25backlight
ln -s /etc/init.d/brightness /etc/rc2.d/S25backlight
ln -s /etc/init.d/brightness /etc/rc6.d/S25backlight

请注意,除了rcS.d之外,我还添加了一个符号链接rc2.d,它是“图形multi-user with networking”(see more)的运行级别。我相信前者不适合我的原因是Ubuntu在S运行级别设置/etc/init.d/brightness脚本后重写亮度级别。

随着微妙的变化,恢复亮度水平就像魅力一样,特别是对于联想ThinkPad L540上的Ubuntu 14.04 LTS。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/383.html,未经允许,请勿转载。