![我可以控制第二台显示器的亮度吗?](https://linux22.com/image/1097603/%E6%88%91%E5%8F%AF%E4%BB%A5%E6%8E%A7%E5%88%B6%E7%AC%AC%E4%BA%8C%E5%8F%B0%E6%98%BE%E7%A4%BA%E5%99%A8%E7%9A%84%E4%BA%AE%E5%BA%A6%E5%90%97%EF%BC%9F.png)
我有一台 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
现在您可以使用滑块调整亮度。
答案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