zoukankan      html  css  js  c++  java
  • U1-解决Ubuntu不能使用快捷键调节屏幕亮度

    解决 Ubuntu 不能使用 Fn 快捷键调节屏幕亮度


    躲着宿舍里玩电脑,有个问题,就是有的舍友喜欢开灯,有的却喜欢关门关灯的。所以我一天内要调好多次屏幕亮度。我是 windows、Ubuntu 换着玩的,Ubuntu 每次都要去系统设置里面手动拖动亮度条改变亮度,很是麻烦。


    今天在网上搜了下,看到了 Zero.zf 转载的 读行四海的博客 解决ubuntu无法调整和保存屏幕亮度的问题,所以想写一个通过修改影响屏幕亮度的文件,来改变屏幕亮度的脚本。当然少不了快捷键啦

    编写 shell 脚本


    上面提到的那篇博文中,提供了一个简单的命令,直接修改文件(屏幕亮度值0-976)

    Ubuntu ~# echo 50 > /sys/class/backlight/intel_backlight/brightness
    

    因为 Ubuntu 不是 root 登录的,为了避免出错,我先把 brightness 文件的权限改为所有人可读可写,这样比较保险哈

    Ubuntu ~# sudo chmod 666 /sys/class/backlight/intel_backlight/brightness
    

    接下来就是编写一段简单的shell脚本,给它一个调亮调暗的参数,把它放在 /bin 目录下:

    # shell 名:mybrightness
    # 参数 asc 调亮, 每次 +10
    Ubuntu ~# mybrightness asc
    # 参数 desc 调暗,每次 -10
    Ubuntu ~# mybrightness desc
    

    其实每次增减 10 有点慢,但是跨度会比较小,可以自己改 STEPS 的值,太小了没什么反应。

    设置快捷键


    记得要先把 `mybrightness` 脚本文件放到 `/bin` 目录下。还有就是,脚本的开头 `#! /bin/bash` 不要把 `#!` 分开了,它们是一个整体,它是在 Linux 下告诉解析器这是一个 shell 程序,我之前没太在意,在中间加了空格,结果快捷键一直没反应。

    开始设置快捷键啦,到 系统设置 -> 键盘 -> 选择 快捷键 -> 左侧最下面 自定义快捷键 点击 + 添加(- 号是删除快捷键的意思) ,名称随便,命令填上面的 mybrightness asc(mybrightness desc),然后应用。


    最后点击 禁用(disable)输入快捷键,如果和其他快捷键冲突了它会提示是否禁用其他快捷键,如果没有提示,说明不冲突,可以看到快捷键的 禁用 disable 改了,这时快捷键就可以用了。
    当然,需要添加两个自定义快捷键,一个增加亮度,一个减少亮度,两个命令就 ascdesc 不同而已



    完整代码

    #! /bin/bash
    
    # This is a script that changes the brightness of the Linux screen
    # Author: TaylorBoy
    # cnblog: http://www.cnblogs.com/TaylorBoy/
    
    ############ HOW TO USE #############
    #
    # TO Enhance brightness: 
    # Shell>>> mybrightness asc
    #
    # TO Reduce  brightness: 
    # Shell>>> mybrightness desc
    #
    ############ HOW TO USE #############
    
    # params1: asc,  Enhance brightness
    # params1: desc, Reduce  brightness
    if [ "$#" -ne 1 ]; then
    	exit
    fi
    
    # Global value
    BRIGHTNESS_MAX=970		# 976
    BRIGHTNESS_MIN=10		# 0
    STEPS=10				# Each step increase 10
    BRIGHTNESS_FILE=/sys/class/backlight/intel_backlight/brightness
    
    # Read the original value.
    read parra < $BRIGHTNESS_FILE
    
    # Determine the increase or descrease (asc/desc)
    if [ "$1" == "asc" ]; then
    	# Enhance brightness by 10 steps.
    	temp=$(($parra+$STEPS))
    	if [ "$temp" -lt "$BRIGHTNESS_MAX" ]; then
    		echo $temp > $BRIGHTNESS_FILE
    	fi
    
    elif [ "$1" == "desc" ]; then
    	# Reduce brightness by -10 steps.
    	temp=$(($parra-$STEPS))
    	if [ "$temp" -ge "$BRIGHTNESS_MIN" ]; then
    		echo $temp > $BRIGHTNESS_FILE
    	fi
    fi
    
    exit
    

    Reference

    读行四海的博客: Ubuntu 16.04 LTS 完善解决亮度调整

  • 相关阅读:
    SpringBoot集成Swagger2并配置多个包路径扫描
    SpringBoot基于EasyExcel解析Excel实现文件导出导入、读取写入
    SpringBoot + SpringSecurity + Quartz + Layui实现系统权限控制和定时任务
    Redis数据持久化(RDB、AOF)
    so安全编译选项(栈溢出保护)
    Python调用Chrome下载文件
    AtomicInteger如何保证线程安全以及乐观锁/悲观锁的概念
    SpringCloud:Eureka的健康检测机制
    共享锁(S锁)和排它锁(X锁)
    Collection接口及其常用子类(java.util包)
  • 原文地址:https://www.cnblogs.com/TaylorBoy/p/6816920.html
Copyright © 2011-2022 走看看