【发布时间】:2014-08-31 02:06:44
【问题描述】:
我正在尝试制作一个控制Linux操作系统亮度的程序,但我需要知道如何仅使用终端命令来控制显示器背光? 我需要能够增加,减少。如果可能的话,还可以调暗屏幕(并返回撤消调暗)。
【问题讨论】:
-
离题;属于Super User
我正在尝试制作一个控制Linux操作系统亮度的程序,但我需要知道如何仅使用终端命令来控制显示器背光? 我需要能够增加,减少。如果可能的话,还可以调暗屏幕(并返回撤消调暗)。
【问题讨论】:
有很多可能性。仅举几例:
1.裸回声
echo 8 > /sys/class/backlight/intel_backlight/brightness
为此,用户必须在video 组中。
查看/sys/class/backlight/intel_backlight/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
【讨论】:
对于外部连接的显示器,有一些 Linux 实用程序支持 DDC/MCCS,这是用于从 PC 控制显示器设置的 VESA 标准。 MCCS 命令可以通过 i2c(内核 i2c-dev 模块)发送到 DVI、DisplayPort、HDMI 显示器或用于 USB 连接显示器的 USB。我发现命令行实用程序ddcutil 是一个可靠的 DDC/MCCS 工具。如果您需要 ddcutil 的小型系统托盘前端,我已经编写了 vdu_controls(python Qt 脚本)。我在OpenSUSE forum post 中写了一个关于 vdu_controls、ddcutil 和 DDC/MCCS 的简要介绍。
% ddcutil --display 2 getvcp 10
VCP code 0x10 (Brightness): current value = 50, max value = 100
% ddcutil --display 2 setvcp 10 90
【讨论】:
在我的 DELL Inspiron 11 xbacklight 上不起作用(“没有输出具有背光属性”)。 user362097 描述的裸 echo 方法确实有效。
如果您使用的是 Xubuntu 或使用 XFCE4 电源管理器的某些发行版,您可以使用 xfpm-power-backlight-helper:
pkexec xfpm-power-backlight-helper --get-max-brightness
# I get 6009
pkexec xfpm-power-backlight-helper --set-brightness 1000
【讨论】:
大家好,我会告诉你最简单的方法来控制屏幕的亮度。
这里的参数范围是100-999 根据您的要求在下面的命令行中调整数字
echo 200 | sudo tee /sys/class/backlight/intel_backlight/brightness
希望对你有所帮助。
【讨论】:
我正在寻找一个命令来调整运行 Fedora 30 XFCE 的笔记本电脑 LCD 面板的背光。
由于某种原因,xbacklight 不起作用 我还假设即使 xbacklight 在图形环境中工作,比如在 X 服务器下,它也不会在运行级别 3 中工作,在虚拟控制台中 所以我发现 Brightlight 现在工作得很好,它在 XFCE 和运行级别 3 下都可以工作。 使用
安装sudo dnf install brightlight
有关运行命令类型的信息:
brightlight -h
【讨论】:
为什么要折磨自己?你不是更喜欢漂亮的 gui 吗?
这个简单的脚本是为使用背光系统而编写的,在@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 工作:
yad --scale --print-partial
将脚本保存在名为 set-brightness 的文件中
BrPath= 行以匹配您的背光路径。 失败原因:
如果您不是以 root 身份运行,您可能需要授予您的用户(或所有用户)对亮度文件的写入权限
chmod 666 /sys/class/backlight/intel_backlight/brightness
您的 yad 'title' 参数中可能包含某些 yad 版本可能不喜欢的字符,例如括号。 (括号对我有用,ymmv)。
【讨论】:
sudo 运行顺畅。我不得不将标题更新为'Set brightnessradkys Dpup Stretch 7.5'。
如果您想在硬件级别进行更改,则取决于您拥有的显卡。我有 radeon 卡 + intel 集成卡。因此,我通过以下脚本为您提到的 3 个任务更改亮度。
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
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
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
在您的情况下,您可能需要从 Intel 更改文件夹名称,具体取决于您的 GPU。
【讨论】:
step1:打开终端ctrl+alt+t
第二步:xrandr | grep "已连接" |剪切 -f1 -d " "
step3:xrandr --output [显示器名称] --brightness [亮度级别]
example: xrandr --output LVDS-1 --brightness 0.75
亮度级别应设置在 0.5 到 1 之间以获得更好的可见度。
【讨论】: