我可以控制第二台显示器的亮度吗?

我可以控制第二台显示器的亮度吗?

我有一台 ThinkPad (x301),外接显示器通过 DisplayPort 转 HDMI 电缆连接。我可以使用笔记本电脑上的按键控制笔记本电脑显示器的亮度,但我不知道如何控制外接显示器的亮度。

$ ls /sys/class/backlight/*/brightness
/sys/class/backlight/acpi_video0/brightness
/sys/class/backlight/intel_backlight/brightness
$ cat /sys/class/backlight/acpi_video0/brightness
11
$ cat /sys/class/backlight/acpi_video0/max_brightness
15
$ cat /sys/class/backlight/intel_backlight/brightness
501804
$ cat /sys/class/backlight/intel_backlight/max_brightness
2414340

我可以将值写入上述intel_backlight 和 acpi_video0 都会改变笔记本电脑显示器的亮度。

上述是否意味着没有办法改变外接显示器的亮度(除了 OSD 之外)?

答案1

您可以从命令行执行此操作(这样每晚都会通过 cron 自动执行此操作),使用 xrandr 执行此操作,具体如下:如何从命令行(或通过脚本)更改 LCD 亮度?

例如

xrandr --output HDMI1 --brightness 0.5

这不会改变背光或影响电源使用,它只需在软件中调整伽马值。我听说在其 GUI 皮肤下Brightness Controller使用。xrandr

使用xrandr --listactivemonitors来获取正确的监视器如果没有,您可能会得到xrandr: Need crtc to set gamma on.

ddccontrol在 Lucid 10.04 中似乎运行良好,但由于缺乏关注而被 Debian 遗弃,并且从那以后没有人采用。

更新 ddccontrol回到 xenial。参见

答案2

从以下 PPA 安装亮度控制器。

sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt update
sudo apt install brightness-controller

屏幕截图 1

现在您可以使用滑块调整亮度。

答案3

以下是亮度控制器的最新信息。有 2 个版本可用。版本 1 又称简单版本,最多支持 4 个显示器并保留经典滑块。版本 2 允许更专业的控制以及多个显示器。

您可以在此处查看亮度控制器

为了更快地安装,请使用 PPA

sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt-get update

然后对于版本 1

sudo apt-get install brightness-controller-simple

亮度控制器简单

或者版本 2

sudo apt-get install brightness-controller

亮度控制器

享受!

答案4

使用 xrandr 和几行 bash 脚本,可以同时控制多个/所有显示器,以方便使用

(我同时将它用于 3 个显示器 + 笔记本电脑屏幕)

#!/bin/bash
# brightness.sh - script to set multiple monitor brightness
# Author: Nariman Huseynov

# set brightness level from user input & reset if no args provided
if [ -z "$1" ]
then
  echo 'Default brightness 100%'
  LEVEL=1
else
  echo "Setting brightness level to" $1
  LEVEL=$1
fi

# get list of screens,trim noise and remove first line (count)
MONITORS=$(xrandr --listactivemonitors | tail -n +2 | awk '{print $NF}');

# change brightness level per monitor at a time
for each in $MONITORS; do xrandr --output $each --brightness $LEVEL; done

永久使用:

  • 添加执行权限:

    $ chmod +x brightness.sh

  • 移动到 bin 目录(在我的情况下是 /usr/local/bin)

    $ sudo mv brightness.sh /usr/local/bin/brightness

  • 执行设置亮度等级 50%(夜间模式)

    $ brightness 0.5

  • 重置亮度至 100%

    $ brightness

PS 如果您不想检查错误并且只想要几行,那么较短的版本就可以了:

# get list of screens,trim noise and remove first line (count)
MONITORS=$(xrandr --listactivemonitors | tail -n +2 | awk '{print $NF}');

# change brightness level per monitor at a time
for each in $MONITORS; do xrandr --output $each --brightness $LEVEL; done

相关内容