我在我的笔记本电脑上安装了Ubuntu 16.04 LTS,并通过HDMI线连接了外部显示器。我可以轻松地调整笔记本屏幕的亮度,但这并不影响外部显示器的亮度。有没有办法也调整外部显示器的亮度呢?
通过命令行很容易完成。首先,在终端中输入以下命令来识别您的屏幕:
xrandr -q | grep " connected"
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
VGA1 connected primary 1366x768+1366+48 (normal left inverted right x axis y axis) 413mm x 234mm
xrandr --output VGA1 --brightness 0.63
目前有两个软件可以进行硬件调光:
ddccontrol
(命令行和图形界面)ddcutil
(命令行和图形界面)ddcci-backlight
(由GNOME和其他平台支持的驱动程序)ddccontrol
ddccontrol
(注意双重cc
)是一个工具,可以以与显示器屏幕上的菜单/硬件按钮相同的方式控制许多监视器的设置。
在Ubuntu中可通过apt install ddccontrol
安装(man page)。
gddccontrol
是其图形用户界面:apt install gddccontrol
两者都需要以root权限运行:
sudo ddccontrol
用于命令行工具gksudo gddccontrol
或 pkexec gddccontrol
用于GUI工具。(基于@Ad Infinitum
在@Taz8du29
的评论中的建议(但请注意名称中有额外的c
)。
ddcutil
/ ddcui
一个替代ddccontrol
的工具,在ddccontrol
相当不维护的时候开发。
可以通过apt install ddcutil
在Ubuntu (man page)上安装。
ddcci-backlight
驱动程序。sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt update
apt
像往常一样安装软件包:sudo apt install brightness-controller
与其为xrandr
设置亮度级别,你可以使用这个Bash脚本来逐步调整亮度的增减。
将下面的Bash脚本复制到一个名为bright
的文件中。
然后使用chmod a+x bright
命令将其标记为可执行。
#!/bin/bash
MON="DP-1-1" # Discover monitor name with: xrandr | grep " connected"
STEP=5 # Step Up/Down brightnes by: 5 = ".05", 10 = ".10", etc.
CurrBright=$( xrandr --verbose --current | grep ^"$MON" -A5 | tail -n1 )
CurrBright="${CurrBright##* }" # Get brightness level with decimal place
Left=${CurrBright%%"."*} # Extract left of decimal point
Right=${CurrBright#*"."} # Extract right of decimal point
MathBright="0"
[[ "$Left" != 0 && "$STEP" -lt 10 ]] && STEP=10 # > 1.0, only .1 works
[[ "$Left" != 0 ]] && MathBright="$Left"00 # 1.0 becomes "100"
[[ "${#Right}" -eq 1 ]] && Right="$Right"0 # 0.5 becomes "50"
MathBright=$(( MathBright + Right ))
[[ "$1" == "Up" || "$1" == "+" ]] && MathBright=$(( MathBright + STEP ))
[[ "$1" == "Down" || "$1" == "-" ]] && MathBright=$(( MathBright - STEP ))
[[ "${MathBright:0:1}" == "-" ]] && MathBright=0 # Negative not allowed
[[ "$MathBright" -gt 999 ]] && MathBright=999 # Can't go over 9.99
if [[ "${#MathBright}" -eq 3 ]] ; then
MathBright="$MathBright"000 # Pad with lots of zeros
CurrBright="${MathBright:0:1}.${MathBright:1:2}"
else
MathBright="$MathBright"000 # Pad with lots of zeros
CurrBright=".${MathBright:0:2}"
fi
xrandr --output "$MON" --brightness "$CurrBright" # Set new brightness
# Display current brightness
printf "Monitor $MON "
echo $( xrandr --verbose --current | grep ^"$MON" -A5 | tail -n1 )
MON="DP-1-1"
更改为您的显示器名称,例如MON="eDP-1-1"
STEP=5
更改为您的步长值,例如STEP=2
会更不明显使用以下命令调用脚本:
bright Up
或bright +
以步长值增加亮度bright Down
或bright -
以步长值降低亮度bright
(无参数)获取当前亮度级别希望bash / shell命令可以轻松通过搜索进行学习,如果有任何问题,请随时提问:)