我使用 SSH 和脚本控制我的电脑。如何从命令行更改亮度、颜色和清晰度?
尝试 1:失败
$ sudo redshift -t 5000:5000 -g .5
Cannot list GNOME panel applets.
Initialization of gnome-clock failed.
Trying next provider...
Latitude and longitude must be set.
尝试 2:失败
$ cat brightness
20
$ cat max_brightness
20
$ echo 1 | sudo tee /sys/class/backlight/acpi_video0/brightness
1
$ echo 20 | sudo tee /sys/class/backlight/acpi_video0/brightness
还有其他方法吗?
[command] [1000K to 10000K] [effects 0.1 to 10.0]
| | / / /
^ ^ ^ ^ ^
redshift -t 1000:1000 -l 0:0 -g .1; Dark
redshift -t 1000:1000 -l 0.0 -g 5; Bright
答案1
如果你的显卡驱动程序支持它,那么你可以使用xrandr
。
以下命令列出当前配置:
xrandr --current --verbose
如果要更改输出的配置,则需要输出的名称。此名称是 输出的一部分xrandr --current
,例如LVDS1
。
亮度可以像这样改变:
xrandr --output <outputname> --brightness 0.8
伽马(红色的:绿色的:蓝色的):
xrandr --output <outputname> --gamma 0.5:1.0:1.0
答案2
xrandr 不会在硬件层面上增加屏幕亮度(通过笔记本电脑显示屏亮度键更改的亮度)。正如 xrandr 手册所述:
- 亮度亮度
将当前连接到输出的 crtc 上的伽马值乘以指定的浮点值。对于过亮或过暗的输出很有用。但是,这只是软件修改,如果您的硬件支持实际更改亮度,您可能更喜欢使用 xbacklight。
相反,使用xbacklight
来改变亮度:
xbacklight -get #get the current level
xbacklight -set *percent* #set brightness to a given percentage
xbacklight -inc *percent* #increase by a given percentage
xbacklight -dec *percent* #decrease by a given percentage
但是,由于这与使用笔记本电脑亮度键相同,因此不能超出 0-100% 的限制。如果您希望将屏幕调亮/调暗到超出该限制,则可以使用 xrandr 强制软件亮度级别:
xrandr --output LVDS1 --brightness 0.5
请注意,xrandr
接受分数(0.0-1.0)同时xbacklight
接受百分比(0-100)
答案3
对于笔记本电脑,我刚刚从以下网站了解到man xrandr
:
--brightness brightness
Multiply the gamma values on the crtc currently attached to the
output to specified floating value. Useful for overly bright or
overly dim outputs. However, this is a software only modifica‐
tion, if your hardware has support to actually change the
brightness, you will probably prefer to use xbacklight.
所以我尝试了
xbacklight -get
xbacklight -set 70
并且它有效!
答案4
我使用此脚本同时设置所有显示器的亮度:
#!/bin/bash
if [ -z $1 ]; then
echo "Usage: brighntess BRIGHTNESS"
echo "BRIGHTNESS is a float (0.0-1.0)"
else
xrandr --listmonitors | grep "^ " | cut -f 6 -d' ' | \
xargs --replace=MONITOR xrandr --output MONITOR --brightness $1
fi