測試環境:
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文件如下:
# 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@ www.linuxidc.com :/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