修改linux内核调低屏幕亮度

测试环境:

Acer Aspire 5750G
NVIDIA GeForce GT630M
ubuntu 12.04 x86_64

其他情况解决方法类似。

调节屏幕亮度

Fn不能调节屏幕的亮度。因为fn调节的是/sys/class/backlight/acpi_video0/brightness文件,而I卡的文件是/sys/class/backlight/intel_backlight/brightness。

 

一、测试代码

启动系统,出现grub菜单时,按“e”编辑,在有linux内核路径那一行,添加“acpi_backlight=vendor”,如:

linux    /boot/vmlinuz-3.2.0-30-generic root=UUID=75c414be-2e17-407a-b699-94f6a398dff7 ro acpi_backlight=vendor  quiet splash

如果能正常启动,且用fn能调节屏幕亮度,说明成功,接着下一步。

 

二、修改grub

sudo vi /etc/default/grub

找到:

GRUB_CMDLINE_LINUX=""

改为:

GRUB_CMDLINE_LINUX="acpi_backlight=vendor“

我的grub文件如下:

View Code
更新grub.cfg
➜  ~  sudo update-grub

查看grub.cfg 发现其中每个启动项都加入了“acpi_backlight=vendor”

➜  ~  vi /boot/grub/grub.cfg

设定屏幕初始亮度

重启后发现,屏幕亮度又恢复为最大亮度。

查看影响屏幕亮度的文件

➜  ~  vi /sys/class/backlight/intel_backlight/brightness

调节几次屏幕亮度发现其中数值会改变,我的笔记本数值范围为0~976。

手动修改该数值,会发现屏幕亮度随之改变(需要root用户执行):

➜  ~  su  
Password: 
root@kiss:/home/congbo# echo 500 > /sys/class/backlight/intel_backlight/brightness

因此,将该语句添加到 /etc/rc.local 就能开机自动设定屏幕初始亮度了。

 

修改/etc/rc.local如下(需要root用户执行):

复制代码
#!/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 500 > /sys/class/backlight/intel_backlight/brightness
exit 0
复制代码

调节gamma值

➜  ~  xgamma -gamma .7
-> Red  1.000, Green  1.000, Blue  1.000
<- Red  0.700, Green  0.700, Blue  0.700

 

原文地址:https://www.cnblogs.com/linksgo2011/p/2827497.html