Ubuntu 16.04 LTS 完善解決亮度調整


環境:
ubuntu16.04 lts acer aspire 4752G i5-2450M

內容來源:點擊這里
 
        
ubuntu無法調整屏幕亮度,對筆記本來說很耗電,同時也很刺眼,因為它是默認以最大亮度來工作的。
所謂的調整,方法為下面的其中一種:
1、Fn+左右的快捷鍵,亮度沒有變化
2、在亮度與鎖屏中拉動進度條亮度沒有變化
 
解決ubuntu無法調整和保存屏幕亮度的問題

原因:
fn+(x)調節的是: /sys/class/backlight/acpi_video0/brightness文件,而I卡的文件是/sys/class/backlight/intel_backlight/brightness。
 
        
什么是i卡?
三種主要品牌顯卡: Nvidia , AMD/ATI 和 Intel 
Nvidia
提供最基本的僅支持 2D 的開源驅動(只提供閉源驅動)。但閉源驅動的性能非常好,與 Windows 上的性能幾乎差不多。而且 Nvidia 的驅動更新很頻繁,而且他們還會使用 VDPAU 加速 API 來提供快速視頻加速,這個加速 API 功能僅被當前最新的 Adobe Flash beta 支持。所以,如果你經常觀看全屏高清視頻的話,一塊 Nvidia 顯卡加上他們的驅動應該是最佳方案了。但是 Nvidia 至今還不支持 Xrandr 協議,Xrandr 協議可以允許 X 來調整顯示分辨率,或者擴展/克隆到外部顯示器。
AMD/ATI
在 AMD 收購 ATI 之前,可以說在 Linux 上基本沒有像樣的 ATI 驅動。不過自從被 AMD 收購后,情況就變得大為不同。ATI 的閉源 Linux 驅動有了跨越式的發展,而且還支持 Xrandr 協議,這樣你就可以完全使用 Ubuntu 內置分辨率調整工具了。而且在性能方面也非常好,也可以與 Wine 一起很好的工作。AMD 在 Linux 驅動方面確實貢獻卓越。當然有一點與 Nividia 驅動相似的,那就是也不支持 KMS 。閉源的 AMD 驅動使用與 Nvidia 不同的視頻 API ,而是喚作的 VA-API,不幸的是 Adobe 目前至今還沒有支持它,所以基於 Flash 的高清視頻受到一定的影響。另外與 Nvidia 相比欠缺的一點是,AMD 驅動需要花費更多的時間來支持新版內核及新的 X Server 版本,但對於 Ubuntu 用戶來說並不是問題,因為它會默認搭載在 Ubuntu 發行版中。
Intel
可以說, Intel 是開源 Linux 圖形卡驅動方面的王者,他們只發布 Linux 平台上的開源驅動,這也意味着你能體驗到像 KMS 及 Xrandar 支持這樣的所有功能。但 Intel 也並不完美,如果你擁有一塊基於 GMA500 的卡的話,它基本上無法工作於 Ubuntu 上,因為這是英特爾購買了其他公司的芯片組后並更名了它,而且他們也不能為其開發開源驅動,雖然目前英特爾還在解決此問題。Intel 的另外一個最大缺點是他們的硬件性能遠遠不如 AMD 和 Nvidia ,並且對於游戲支持也不夠好。 
總結
如果對於你來說有開源驅動是非常重要的事,那么你可以用 Intel 或 AMD 的卡;如果你更關注性能,那么你可以用 AMD 或 Nvidia 的卡。總的來說, AMD/ATI 是更加前沿,更加值得推薦,因為他們在提供穩定開源驅動的同時,還提供了可靠快速的閉源驅動,堪稱兩全其美。
 
        
回來原來的問題
 
        
一種比較將就的方法就是剛開機的時候就按Fn+左右鍵,這樣就可以改變亮度了。一旦進去之后就不可以改變了。

===============================================
比較完美的方法如下:
1.修改 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=10 
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"

-----------------------------------------------------------------------------------
 
        
2. 更新: grub.cfg
$ sudo update-grub 
查看grub.cfg,可以發現每個啟動項都加入了"acpi_backlight=vendor" 
PS:grub.cfg 位於 /boot/grub/grub.cfg
 
        
修改影響屏幕亮度的文件
$ sudo vi /sys/class/backlight/intel_backlight/brightness 
默認是976(這也是我們開機每次都是最亮的原因)
改變數值(0 - 976),保存后屏幕亮度會發生對應的變化
另外,可以輸入下面的命令來直接改變其數值
echo 50 > /sys/class/backlight/intel_backlight/brightness
這樣里面的數值就改成了50了,當然其他數值都是一樣的。不過,這一命令要在root環境下
PS:怎樣進入root環境呢?
$ sudo su 
root@ubuntu:/home/zero#
這樣系統就自動到zero用戶目錄下了

什么你沒有root帳戶? 看下面

$ sudo passwd
[sudo] password for zero: Enter your sudo password.

Enter new UNIX password: Enter your new root password.

Retype new UNIX password: Enter repassword.

passwd: password updated successfully
==================================================================

3. 鎖定亮度
是不是每次都這樣設定呢?太麻煩了
把echo 50> /sys/class/backlight/intel_backlight/brightness 添加到 /etc/rc.local 就能開機自動設定屏幕初始亮度了。

$ sudo vi /etc/rc.local

============================================================
修改/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 50 > /sys/class/backlight/intel_backlight/brightness 
exit 0
===========================================================
另外調節gamma值,需要root權限。
root@ubuntu:/home/zero# xgamma -gamma .7 
-> Red  1.000, Green  1.000, Blue  1.000 
<- Red  0.700, Green  0.700, Blue  0.700
 
        
關於gamma:
gamma值是用曲線表示的,這是一種人的眼睛對光的一種感應曲線,其中包括了物理量、身理感官及心理的感知度。 
如果一個顯示器若要完整的表現出高度真實的畫面(無論是高亮度的畫面或低亮度的畫面),則顯示器的對比很少必須5000:1以上,而我們的顯示器由於成本的考慮,我們只能做出500~1000:1時,我們就必須用gamma修正來作補償,也就是在較暗的影片我們選擇較高的gamma值(如2或3,甚至4),以犧牲部分亮部的層次來獲取更多的暗部層次;相反的在一些較亮的影片(外景較多)則我們則選擇較低的gamma值(如0,-1甚至-2)以犧牲部分的暗部層次,來使得亮部層次(如雲層)能更分明。 
PS:什么是顯示器的對比?
所謂的對比,是指最亮除以最暗
 
        
在實際的景色環境中,您極少可能從很亮的畫面瞬間進入很暗的畫面,但在電影或電視和游戲畫面上則我們經常會突然從很亮的畫面進入很暗的畫面,或從很暗的畫面進入很亮的畫面,因此正確的gamma曲線設定可以幫助我們獲得最真實的視覺感受。
 
        
重啟就大功告成了。

  解決ubuntu無法調整和保存屏幕亮度的問題
亮度最大的時候

解決ubuntu無法調整和保存屏幕亮度的問題

亮度較小的時候 
看起來變化 不是很大,可能是截圖的原因吧。沒想到可以把整個屏幕 都調黑的,嘿嘿


免責聲明!

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



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