工作原因开始使用Ubuntu.桌面环境为GNOME,不过亮度调整和桌面环境没多大关系.

思路:

  不管是GNOME还是Unity,都会尝试自己去接管亮度调整,也就是去 /sys/class/backlight下面去找brightness.所以说亮度无法调整大概可以归类到两种情况:

  1.sys/class/backlight/下面是空的,多见于英伟达独显以及某些逗比笔记本.

  2.sys/class/backlight/下面有多个,多见于双显卡笔记本

  既然都想调亮度了,肯定是把linux作为主力系统使用的,所以先安装好闭源驱动,再说调整亮度的事情.

  笔者的情况是Thinkpad P51,使用discreted graphic,核显完全禁用,输出与运算都由NVIDIA独显负责.故属于情况1,这个情况下NVIDIA驱动接管了亮度调整,但默认不开启亮度调整功能.解决的话,需要开启NVIDIA的亮度调整handler,怎么搞下面再说.

  总体的思路总结起来,大概就是想办法让/sys/class/backlight下面只有一个brightness,并且是有效的那一个.

工作:

  情况1:对于NVIDIA独显,加核心参数把亮度调整handler开启就行了.

       对于非NVIDIA独显的,在grub中的内核启动参数加上 acpi_osi=Linux 基本可以解决问题.

  情况2:这个情况考虑禁掉独显,或者去用bumblebee,但最终的思路同上,想办法只留一个有效的brightness在/sys/class/backlight中,哪个有效请自行 echo 到brightness中改值测试

笔者的情况:

  NVIDIA独显,Ubuntu 18.04,操作如下:

  1.安装至少387版本的NVIDIA闭源驱动,笔者使用390.24(亮度调整handler 从387开始作为beta性功能提供,默认关闭)

  2.在moprobe.conf中给nvidia kernel模块加参数,这个文件在哪自己用whereis找吧.把如下内容加进去

options nvidia Nvreg_EnableBacklightHandler=

  3.重新加载kernel参数,也就是让上一步的操作生效

# update-initramfs

  4.重启电脑,亮度就应该正常了,检查/sys/class/backlight,下面有唯一的nvidia_0,系统出现亮度滑块,亮度快捷键有效.

别的情况还是看上面的思路,双显卡用户尽量去想办法屏蔽掉独显,除非说你的独显可以单独工作.

总的来说没有必要使用任何亮度插件,调整起来麻烦且浪费精力.

  

解决 Linux 桌面亮度调整不工作的更多相关文章

  1. 关于用Linux桌面版当工作系统这件事

    Linux稳定性好,Linux软件开放--不过等到决定把Linux当作日常工作用系统时,就一言难尽了-- 我日常工作的需求有: 笔记本扩展屏幕 Golang开发 docker/kubernetes 输 ...

  2. Linux 桌面玩家指南:17. 在 Ubuntu 中使用 deepin-wine,解决一些依赖 Windows 的痛点问题

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  3. Linux桌面环境GNOME实用技巧

    GNOME是Linux桌面上主流的集成桌面环境之一,GNOME桌面以其风格简洁.操作便捷而受到Linux用户的欢迎.这里将介绍Linux桌面环境GNOME的操作技巧,在这里拿出来和大家分享一下. 下面 ...

  4. Linux 桌面玩家指南:18. 使用 Docker 隔离自己的开发环境和部署环境

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  5. Linux 桌面玩家指南:13. 使用 Git 及其和 Eclipse 的集成

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  6. Linux 桌面玩家指南:12. 优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  7. Linux 桌面玩家指南:06. 优雅地使用命令行及 Bash 脚本编程语言中的美学与哲学

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  8. Linux 桌面玩家指南:04. Linux 桌面系统字体配置要略

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  9. Linux 桌面玩家指南:03. 针对 Gnome 3 的 Linux 桌面进行美化

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

随机推荐

  1. UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 30633: illegal multibyte sequence

    import urllib.request def load_baidu(): url = "https://www.baidu.com/" header = {"Use ...

  2. arcpy简单示例

    最好在arcmap内置python模块运行. 这里用的是Zonel Stastic as Table模块,计算各个国家的逐月径流量的统计数据.需要对数百个tiff进行计算和导出,使用arcpy可以大大 ...

  3. centos升级openssl方法及步骤

    1.下载要升级到的openssl包https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz 2.升级opens ...

  4. history program(language)

    1950与1960年代 有三个现代编程语言于1950年代被设计出来,这三者所衍生的语言直到今日仍旧广泛地被采用: Fortran (1955),名称取自"FORmula TRANslator ...

  5. 设置tomcat支持软连接

    一般开发时不会在tomcat安装目录/data/tomcat/webapps/ROOT 下去,上传部署:而是建立软连接,在tomcat安装目录之外操作,比如执行git pull拉取项目,而tomcat ...

  6. datatable 添加列之前判断是否存在该列

    if (!dt.Columns.Contains("BDate")) { DataColumn dc1 = new DataColumn("BDate", ty ...

  7. Android N 的开机启动流程概述

    原地址:https://blog.csdn.net/h655370/article/details/77727554 图片展示了Android的五层架构,从上到下依次是:应用层,应用框架层,库层,运行 ...

  8. cocos2d-html5 碰撞检测的几种方法

    游戏中的碰撞还是比较多的,比如角色与角色的碰撞,角色与墙壁的碰撞,角色与怪物的碰撞等,都需要进行碰撞的检测,来触发一定的事件 最近在尝试制作一个小游戏的时候需要用到碰撞检测,然后就查了下资料,并在论坛 ...

  9. 浅析构造函数,及public、private、protected、final、this、super关键字

    初学JAVA,感觉很多知识点不熟悉,看了好多遍教材,最终还是决定把它写下来,加深印象以便忘了的时候再过来复习一下.看上去字数可能比较多,其实内容很简明. 首先看this的用法: package tes ...

  10. SpingMVC的工作流程

    一.SpringMVC的主要组件 前端控制器(DisatcherServlet):接收请求,响应结果,返回可以是json,String等数据类型,也可以是页面(Model). 处理器映射器(Handl ...