问题描述
我的笔记本电脑的亮度在每次重新启动时重置为最大值。我尝试了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
和actual_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
(将当前级别保存到文件)
您可以在这里或在启动板上与我联系。
第三种解决方法
最简单的方法:
-
打开一个终端窗口。
-
输入以下命令,然后按Enter键。
sudo apt-get install xbacklight
-
打开启动应用程序首选项菜单。
-
点击添加按钮并添加以下信息:
-
名称:亮度
-
命令:
xbacklight -set 60
-
-
将60替换为您喜欢的任何亮度级别。
来源:Set Startup Display Brightness
第四种方法
在rc.local
中尝试解决方法之前,有必要尝试以下操作:
-
添加简单:
quiet splash acpi_backlight=vendor
grub看起来对我的配置已经足够了。-
sudo gedit /etc/default/grub
-
用
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset acpi_backlight=vendor"
替换GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
-
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。下面的步骤对我很好。
-
将屏幕亮度调整到您喜欢的级别。
-
打开终端并输入
cat /sys/class/backlight/intel_backlight/actual_brightness
并取下该值。 -
输入
cat /sys/class/backlight/acpi_video0/actual_brightness
并取下该值。 -
输入
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。