ubuntu屏幕亮度调节无效解决方法

  • 问题描述
  • 尝试过的解决方法
  • 解决方法发现历程
  • 解决方法
  • 总结

问题描述

  因为学习需要,在Win10系统的基础上安装了Ubuntu20.04 LTS 双系统,但遇到了各种各样的问题。经过一番搜索,解决了大部分的问题,但最难搞的就是屏幕亮度调不了的问题。虽然这并不是什么硬伤,但是这个刺眼的屏幕亮度太辣眼睛了,解决一下还是有必要的。网上看过了许多文章,许多办法都尝试过,但终究是没能很好的解决,最终经过一番努力找到了一个比较能让我满意的办法。这也许是你未曾看到过的一种解决方法,如果你也有这个问题,在你的系统上应该也可以适用。

尝试过的解决方法

我的尝试历程和这篇博文比较相似,除此之外还尝试了一些方法。

  1. 按照一些博主的说法尝试了升级内核,但是升级内核后仍无法调节
  2. 安装英伟达显卡的驱动,安装完成依旧无法调节
  3. 修改内核,使亮度控制的文件改为/sys/class/backlight/intel_backlight/brightness,但是这个是intel的CPU才有的,我是AMD的CPU加英伟达的显卡,所以没有这个文件夹
  4. 尝试按照英伟达显卡无法调节亮度的思路去解决问题,尝试过修改/etc/default/grub文件,也尝试过修改/usr/share/X11/xorg.conf.d/10-nvidia.conf文件,但是都没有效果。甚至按照某个博主的配置的修改了10-nvidia.conf文件后还启动系统黑屏了,费了好大功夫才又把屏幕点亮。
  5. 是确实可以解决问题的一种方法,就是下载Brightness Controller Simple软件进行调节,确实可行,就是有些麻烦,需要每次开机都调节一下,而且和系统亮度没有关联。

好像还试了几种方法来着,也不太记得了,主要就是这些。

解决方法发现历程

  虽然下载Brightness Controller Simple软件可以实现调节亮度,但是有些麻烦,还是希望能够像正常电脑一样用键盘或拖系统的亮度条完成控制。
  想到的第一个方法就是看能不能给这个控制程序传参数以便通过命令控制,如果可以的话就会好处理很多,但难受的是传参数并没有用。
  不过随后意外发现这个程序是用python写的,就用文本方式打开看了下源码,读了一下感觉还是很好理解的。最核心的就是调用系统的驱动,也被软件开发者封装成了一个函数,获取驱动后通过系统命令就可以进行控制。
  了解到这些后,马上打开控制台开始尝试调整亮度,果然凑效了!再结合之前读文章时发现存储系统亮度值的是/sys/class/backlight/acpi_video0/brightness这个文件,就写了一小段程序来实时监测这个文件并控制屏幕亮度。实验非常成功,然后将这个python脚本设置成开机自动运行就完美解决问题了~

解决方法

  1. 第一步先找到存储系统亮度值的文件,目前了解情况看来ubuntu应该都是有/sys/class/backlight/acpi_video0/brightness这个文件的吧,不是的话需要找一下对应的文件。使用cat命令看一下内容发现里面只有一个亮度值的整数文本,非常方便读取,调节系统亮度值也会刷新数值。

  2. 接着在/usr目录下新建个目录并创建python脚本,代码很简单,有额外需要的c友可以自行修改使用。

    cd /usr
    mkdir self_documents
    cd self_documents
    sudo gedit ubuntu_brightness_assistant.py
    

    打开文本后粘贴python代码如下,然后保存退出:

    import sys
    import subprocess
    import time
    from os import system
    import os# 这部分函数来自Brightness Controller Simple软件
    def detect_display_devices():"""Detects available displays"""connected_devs = []xrandr_output = subprocess.check_output('xrandr -q', shell=True)lines = str(xrandr_output, encoding="utf-8").split('\n')for line in lines:words = line.split(' ')for word in words:if word == 'connected':connected_devs.append(words[0])return connected_devsdef get_system_brightness(path: str) -> int:brightness = 100if os.path.exists(path):with open(path, 'r') as f:brightness = int(f.readline())else:return brightnessreturn brightnessdef main(argv):detected_device = detect_display_devices()[0]brightness = 100while True:time.sleep(0.1)if brightness != get_system_brightness(argv[1]):brightness = get_system_brightness(argv[1])system('xrandr --output %s --brightness %.2f' % (detected_device, brightness / 100))if __name__ == '__main__':main(sys.argv)
    
  3. 这个python脚本需要传入一个参数,就是那个存着系统亮度值的文件路径,接下来只要用下面命令运行这个python脚本就可以通过系统改变屏幕亮度值了。

    python3 /usr/self_documents/ubuntu_brightness_assistant.py /sys/class/backlight/acpi_video0/brightness &
    
  4. 为了不用每次都开机手动跑一下这个命令才能控制亮度,需要把这个命令添加到开机启动里面。

总结

  装了Ubuntu双系统还是碰到了不少的问题,花费了好多的时间去找资料和解决,还是感谢许多c友的慷慨分享,节约了我许多时间。同时也把我自己探索的一点经历分享出来,希望能帮到遇到和我一样问题的c友,节省一点你们的时间,同时也记录一下排坑经历。

ubuntu (20.04 LTS) 屏幕亮度调节无效解决方法相关推荐

  1. ubuntu 20.04 ROS Noetic 无serial包解决方法

    ubuntu 20.04 ROS Noetic 无serial包解决方法 在ros-noetic版本之前的ros-kinetic或者ros-meldic版本,进行串口通信的时候可以采用 sudo ap ...

  2. 【Linux】Ubuntu 20.04 wifi 问号连接不上解决方法

    1,Ubuntu中文 找到(设置)Ubuntu英文(settings) 2,点开 设置(settings)找到 隐私(Privacy) 3,在隐私(Privacy)里 关闭 正在检测连接(Connec ...

  3. 联想拯救者 R7000P 安装Ubuntu 21.04 出现屏幕亮度不能调节的问题

    联想拯救者 R7000P 安装Ubuntu 21.04 出现屏幕亮度不能调节的问题 1. 基本配置 2. 摸索 3. 变故 4. 找原因 5. 总结 1. 基本配置 笔记本电脑:联想拯救者 R7000 ...

  4. 如何安装Ubuntu 20.04 LTS服务器的图文教程

    今天,我们将通过图文向您展示如何安装Ubuntu 20.04 LTS服务器.如果您的系统上已经有Ubuntu 18.04 LTS服务器,则只需将其升级到Ubuntu 20.04 LTS服务器.如果您不 ...

  5. Linux(Ubuntu 20.04 LTS)之shell使用基础教程

    Linux(Ubuntu 20.04 LTS)之shell使用基础教程 我在此使用的是VMware虚拟机安装的Ubuntu 20.04 LTS. Shell是linux系统的用户界面.Shell即是一 ...

  6. 安装Ubuntu 20.04 LTS服务器

    今天,我们将通过图文向您展示如何安装Ubuntu 20.04 LTS服务器.如果您的系统上已经有Ubuntu 18.04 LTS服务器,则只需将其升级到Ubuntu 20.04 LTS服务器.如果您不 ...

  7. 树莓派配置路由_树莓派安装Ubuntu 20.04 LTS并配置

    昨天是个好日子,我跑在rock 64上的V2Ray服务器配置好了,但是不幸的是大概两个小时后它就死机了,这让我非常的无语.Rock 64配置很高,三年前就有4G内存,USB 3.0的配置,但是最近使用 ...

  8. ubuntu20分区_「图」Canonical希望Ubuntu 20.04 LTS Server Installer更快更舒适

    针对即将到来的Ubuntu 20.04 LTS(Focal Fossa)操作系统,Canonical于今天推出了Ubuntu Server安装器计划.Ubuntu 20.04 LTS操作系统在明年4月 ...

  9. ubuntu 20.04 设置网关_如何把Ubuntu升级到Ubuntu 20.04 LTS 最新版本

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要介绍如何把Ubuntu 旧版本升级到最新的Ub ...

最新文章

  1. [No000066]python各种类型转换-int,str,char,float,ord,hex,oct等
  2. 信息系统项目管理师算职称吗
  3. java的语法结构_Java中的语法规范语法结构
  4. ubuntu16.04登录mysql出现1045的报错或者2002报错
  5. 网络摄象机常用传输协议
  6. Linux内核驱动GPIO的使用
  7. 130. 被围绕的区域
  8. boost计算随机数和计算crc32简单示例 - jwybobo2007的专栏 - 博客频道 - CSDN.NET
  9. 第四十六讲 ASP.NET实例编程(五)
  10. Ubuntu中tftp下载程序
  11. 本特利3500软件组态指导
  12. Spark3.0核心调优参数小总结
  13. vue项目PC端移动端适配方案
  14. 再谈过时且脆弱的TCP长肥管道三宗罪!
  15. 计算机科学技术标准,计算机科学技术基础知识之标准化和知识产权基础知识
  16. 数学(零)零散知识点
  17. ecw2c为我唱一首堆栈溢出的歌曲:音乐尾声优化
  18. 杨辉直角(等腰)三角
  19. C语言:打印二元一次方程的根
  20. CentOS7.6挂载硬盘

热门文章

  1. 写的一款LRC格式歌词编辑软件 (ManeLrc) 欢迎下载
  2. html先隐藏后交互,为配合Axure,我用HTML5先临摹instagramAPP的交互界面
  3. 打造安全可信的通信服务,阿里云云通信发布《短信服务安全白皮书》
  4. AJAX框架眼镜盒推荐,给你护理框架眼镜的14条建议
  5. 微商推广引流:借助小红书,精准找客源(进阶版)
  6. 将图像的像素数据保存到文本文件
  7. Linux安装perl
  8. 盒饭官方网站服务器,魔兽世界怀旧服:TAQ团本是否便当?半数服务器开门,只等首通了...
  9. 第1章 安装Nginx及第三方模块
  10. 【整数】 n 位正整数的个数