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

内容来源:点击这里
ubuntu无法调整屏幕亮度,对笔记本来说很耗电,同时也很刺眼,因为它是默认以最大亮度来工作的。
所谓的调整,方法为下面的其中一种:
1、Fn+左右的快捷键,亮度没有变化
2、在亮度与锁屏中拉动进度条亮度没有变化
 
 
原因:
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 16.04 LTS 完善解决亮度调整的更多相关文章

  1. android – 符合Nvidia Tegra profiler 2.0的移动设备

    解决方法通常任何基于Tegra4和K1的设备都可以工作,但我会推荐Nvidia的Shield/Note用于你的工作,不仅是他们退出便宜,而且他们的机器人留下了很多香草使它更容易使用.还有(可用的)更新策略的优点.

  2. 适用于Android的离线(手动)安装Intel x86 Atom System映像

    我想安装Intelx86AtomSystemImage,因为我的模拟器速度太慢了.每次我尝试从Androidsdk管理器安装它时,我都收到此消息:–获取URL:https://dl-ssl.google.com/android/repository/sys-img/x86/addon-x86.xml验证XML:https://dl-ssl.google.com/android/repository

  3. android – Intel HAXM 6.0.4与MacOS不兼容

    或者有其他选择吗?解决方法已经有报道的问题:>https://code.google.com/p/android/issues/detail?

  4. 解决AMD无法使用Android studio问题

    这篇文章主要介绍了AMD无法使用Android studio解决方法,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  5. windows – 未检测到支持CUDA的设备

    我是CUDA编程的新手,我完全陷入困境.当我尝试运行提供的deviceQuery实用程序或其中一个示例应用程序时,我收到以下错误:我使用的是Windows7,64位.我安装了VisualStudio2012,然后安装了CUDA5.064位.我的显卡是NVIDIAGeForceGTS250.今天我去了NVIDIA网站并重新安装了该卡的最新驱动程序.除了“确保安装了正在运行的驱动程序”之外,我在Win

  6. 如何在Windows上模拟CUDA

    有没有什么方法可以从没有NVIDIA显卡的电脑上测试CUDA样品和代码?

  7. centos – 无法启动kdump

    [编辑1]/var/log/messages的内容[编辑2]或者我应该将代码roroot=LABEL=更改为roroot=/dev/sda3?看起来您将crashkernel参数放入新行.这就是Kdump不是操作消息的原因.所有内核参数必须与内核放在同一行:重新启动后,看一下/var/log/messages,你会看到如下内容:和:根据this文档,试试这个:crashkernel=128M@16M

  8. centos6 – 探测EDD启动消息在centos 6.6上停留十分钟

    我想在我的virt-manager上调出Centos6.6qcow2图像.客人机器保持上述消息近十分钟.如何在qcow2图像中禁用EDD探测?)内核行,例如:像这样:我只说第一行,因为如果这会产生问题,你可以使用另一个菜单项,并且因为此行中使用的选项也将用于更新安装的新内核.对于第一个测试,您还可以使用virt-manager或VNC客户端连接到VM控制台,然后在Grub引导菜单中按e进行编辑,然后将此选项添加到内核命令行.

  9. CentOS没有检测到Intel 10G(ixgbe)接口

    注意:这是在另一个全新安装的CentOS6.5服务器上运行的相同NIC模型:dmesg输出:这是e1000的参数没有关于允许坏校验和的参数!!!

  10. centos – grubby致命错误:无法找到合适的模板

    在将系统从一台服务器移动到另一台服务器之后,我正在尝试修复我的系统.它与通过网络启动的内核完美配合,但不能从磁盘启动.重新安装库存CentOS6.6内核显示此错误:我的/boot/grub/grub.conf文件看起来很好:所有文件都到位:/etc/fstab看起来也很好:怎么解决这个?有点迟到的响应,但是在CentOS7最小安装时遇到了同样的问题.解决方案是在升级内核后运行:grub2-mkco

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部