ubuntu 無法調節並保存屏幕亮度解決辦法


測試環境:

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
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="acpi_backlight=vendor"

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

 

更新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

 

參考:

http://forum.ubuntu.org.cn/viewtopic.php?f=126&t=374321

http://bbs.chinaunix.net/thread-3658405-1-1.html

http://askubuntu.com/questions/3841/desktop-doesnt-remember-brightness-settings-after-a-reboot


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM