如何通过终端命令控制背光

问题描述 投票:3回答:4

我试图制作一个程序来控制Linux操作系统的亮点,但我需要知道如何使用终端命令控制显示器背光?我需要能够增加,减少。如果可能的话,还会调暗屏幕(并返回撤消调暗)。

linux terminal
4个回答
12
投票

有很多种可能性。仅举几个:

1.回声

echo 8 > /sys/class/backlight/intel_backlight/brightness

查看/ sys / class / backlight / intel_backlight / brightness / max_brightness以查看支持的最大亮度。

2.最简单的使用方法

安装xbacklight包,然后尝试

 xbacklight -inc 20     # increase backlight by 20%
 xbacklight -dec 30     # decrease by 30%
 xbacklight -set 80     # set to 80% of max value
 xbacklight -get        # get the current level

3.过于复杂

运行xrandr --verbose并寻找像LVDS1 connected 1024x600+0+0这样分辨率的线。此处需要显示名称(本例中为LVDS1)。现在您已准备好设置亮度

xrandr --output LVDS1 --brightness 0.4

但这只设置软件,而不是硬件亮度,因此你可以超过限制(两个指令)。不要期待美丽的结果,但如果你有足够的勇气进行实验,那就系好安全带并跑步

xrandr --output LVDS1 --brightness 1.7
xrandr --output LVDS1 --brightness -0.4  #yes, negative value is possible
xrandr --output LVDS1 --brightness 1

您可以使用xrandr折磨更多的显示器,但如果出现问题,请准备好重新启动计算机。例如,播放以下内容

xrandr --output LVDS1 --reflect x
xrandr --output LVDS1 --reflect xy
xrandr --output LVDS1 --reflect normal     # return to normal state
xrandr --output LVDS1 --rotate left
xrandr --output LVDS1 --rotate inverted
xrandr --output LVDS1 --rotate normal      # again, back to normal

2
投票

使用XFCE4 Power Manager替代裸回声

在我的戴尔Inspiron 11 xbacklight不起作用(“没有输出有背光属性”)。用户362097描述的裸回波方法确实有效。

如果您正在使用Xubuntu或使用XFCE4 Power Manager进行某些分发,您可以使用xfpm-power-backlight-helper

pkexec xfpm-power-backlight-helper --get-max-brightness
# I get 6009
pkexec xfpm-power-backlight-helper --set-brightness 1000

0
投票

如果要在硬件级别更改它,则取决于您拥有的图形卡。我有radeon卡+ intel集成卡。因此,我通过以下脚本为您提到的3个任务更改亮度。

  1. 增加亮度
cb=$(cat /sys/class/backlight/intel_backlight/brightness)   
nb=$(($cb + 50))     
echo $nb > /sys/class/backlight/intel_backlight/brightness     
notify-send -t 1 -a "My Brightness controller" $nb
  1. 降低亮度
cb=$(cat /sys/class/backlight/intel_backlight/brightness)    
nb=$(($cb - 50))    
echo $nb > /sys/class/backlight/intel_backlight/brightness     
notify-send -t 1 -a "My Brightness controller" $nb
  1. 昏暗的屏幕
cb=$(cat /sys/class/backlight/intel_backlight/brightness)    
if [ $cb -ne 0 ]    
then    
    nb=0    
    echo $cb > /home/prem/Documents/sys_files/old_bright    
else    
    nb=$(cat /home/prem/Documents/sys_files/old_bright)    
fi    
echo $nb > /sys/class/backlight/intel_backlight/brightness

在您的情况下,您可能需要更改英特尔的文件夹名称,具体取决于您的GPU。


0
投票

为什么折磨自己?你宁愿一个漂亮的gui吗?

enter image description here

编写这个简单的脚本是为了与背光系统配合使用,在@ user3620917的answer中提到为“Bare Echo”。但是,一旦你弄清楚你的系统上有什么命令,你可以调整这个滑块来使用它。

它需要小yad,它消耗很少的RAM,并且在关闭滑块时不会在后台运行任何内容。要了解基本功能,并确保您拥有yad,请在命令行中尝试:

yad --scale --print-partial

完整脚本:

#!/bin/sh 
BrPath='/sys/class/backlight/intel_backlight/' 
BrCur=`cat ${BrPath}brightness` 
BrMax=`cat ${BrPath}max_brightness` 
BrMin=$(( (BrMax + (100 - 1)) / 100))   # 100th max-brightness, rounded up to nearest integer 
yad --scale --min-value $BrMin --max-value $BrMax --value $BrCur --print-partial --title 'Set brightnessradky's Dpup Stretch 7.5 (RC3)' --width 300 --fixed --sticky --mouse --on-top --escape-ok --button OK --hide-value | while read BrNew 
   do echo "$BrNew" > ${BrPath}brightness 
   done

所有选项的说明:https://www.mankier.com/1/yad

安装:

  • 确认简单的echo命令适用于您的计算机。尝试各种值,看看你的亮度是否变化。 echo 10000000> / sys / class / backlight / intel_backlight / brightness
  • 确认你工作: yad --scale --print-partial
  • 将脚本保存在名为set-brightness的文件中
  • 如果需要,编辑BrPath=线以匹配您的背光路径。
  • 将脚本放入/ usr / local / bin
  • 在面板或桌面上创建一个启动器,它运行命令set-brightness。因为它在/ usr / local / bin中,所以你的操作系统应该找到它 - 不需要输入整个路径。

失败的原因:

© www.soinside.com 2019 - 2024. All rights reserved.