ubuntu中解决无法调节屏幕亮度的问题
環境:
ubuntu12.04 acer aspire 4752G i5-2450M
ubuntu無法調整屏幕亮度,對筆記本來說很耗電,同時也很刺眼,因為它是默認以最大亮度來工作的。
所謂的調整,方法為下面的其中一種:
1、Fn+左右的快捷鍵,亮度沒有變化
2、在亮度與鎖屏中拉動進度條亮度沒有變化
原因:
fn調節的是/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+左右鍵,這樣就可以改變亮度了。一旦進去之后就不可以改變了。
比較完美的方法如下:
首先,修改grub
roson@ubuntu:~$ sudo gedit /etc/default/grub
把GRUB_CMDLINE_LINUX=””
改成GRUB_CMDLINE_LINUX=”acpi_backlight=vendor”
下面是修改后的grub文件:
更新grub.cfg
roson@ubuntu:~$ sudo update-grub
查看grub.cfg,可以發現每個啟動項都加入了”acpi_backlight=vendor”
PS:grub.cfg位于/boot/grub/grub.cfg
修改影響屏幕亮度的文件
roson@ubuntu:~$ sudo gedit /sys/class/backlight/intel_backlight/brightness
默認是976(這也是我們開機每次都是最亮的原因)
改變數值,保存后屏幕亮度會發生對應的變化(0-976)。
另外,可以輸入下面的命令來直接改變其數值
echo 50 > /sys/class/backlight/intel_backlight/brightness
這樣里面的數值就改成了50了,當然其他數值都是一樣的。
不過,這一命令要在root環境下。
是不是每次都這樣設定呢?太麻煩了
把echo 50> /sys/class/backlight/intel_backlight/brightness添加到/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@ubuntu:/home/roson# 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中解决无法调节屏幕亮度的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Terminal终端的快捷键
- 下一篇: ubuntu18.04安装pycharm