如何以编程方式更改 Linux 上的显示器亮度?
我正在使用 SLES 11。
您可以随时使用
xrandr --output LVDS1 --brightness 0.9
您可以尝试使用 xbacklight。
xbacklight -set 100
在我的机器上,我以 root 身份运行以下命令:
echo -n 10 > /sys/devices/virtual/backlight/acpi_video0/brightness
对我来说,它与xbacklight
. 例如,如果您希望设置键绑定,则可以使用
bindsym $SUPER+Shift+plus exec xbacklight -inc 10
bindsym $SUPER+Shift+minus exec xbacklight -dec 10
在您的窗口管理器配置中(我使用 i3)来调节屏幕的亮度级别。
我不建议xrandr
这样做,因为它不会自动停止在 100% 亮度。
ddcutil应用程序可以通过 VESA DDC/MCCS 标准更改外部显示器的实际背光亮度(xrandr 只能在显示器当前设置的限制内移动 X11 输出,它不能更改实际背光亮度)。这应该适用于通过显示数据通道支持该功能的任何显示器(DDC 已经存在了一段时间,它得到了广泛的支持,但仅适用于外部显示器)。我使用 ddcutil 根据从网络摄像头采样的环境光水平自动调整我的显示器。Ddcutil 使用 i2c-dev 内核模块(modprobe i2c-dev 或将其设置为在引导时加载)。
ddcutil detect # Get list of DDC displays
ddcutil --display 2 capabilities # List VCP feature key numbers
ddcutil --display 2 getvcp 10 # Get brightness by key number
ddcutil --display 2 setvcp 10 50 # Set brightness to 50
您可能会考虑使用xgamma。虽然它不是纯代码,但至少它只是一个命令行实用程序。
如果您安装了多个显示器和 php,请将其放入
/usr/bin/亮度
#!/usr/bin/php
<?
$br=(double)$argv[1];
if(!$br||$br>1) die("enter brightness lvl 0.1 - 1");
preg_match_all('!^(\S+)!m',`xrandr --current | grep ' connected'`,$m);
foreach($m[1] as $display){
echo `xrandr --output $display --brightness $br`."\n";
}
比打电话brightness .7
为此的命令:
xgamma -gamma 0.7