如何设置自定义分辨率?


77

我尝试使用xrandr1680x1050设置为VGA输出的新模式,但是它说:

sudo xrandr --addmode VGA-0 1680
X Error of failed request:  BadMatch (invalid parameter attributes)
Major opcode of failed request:  140 (RANDR)
Minor opcode of failed request:  18 (RRAddOutputMode)
Serial number of failed request:  35
Current serial number in output stream:  36

Answers:


128

首先使用cvt生成一个“模式行”
语法是:cvt width height刷新率

cvt 1680 1050 60

这给您:

# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

现在告诉xrandr

xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

然后,您现在可以将其添加到您选择的输出的可能分辨率的表中:

xrandr --addmode VGA-0 1680x1050_60.00

重新启动后,更改将丢失,要永久设置分辨率,请创建~/.xprofile包含以下内容的文件:

#!/bin/sh
xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
xrandr --addmode VGA-0 1680x1050_60.00

21
连接的设备可能不是VGA-0。如果收到消息xrandr: cannot find output "VGA-0",请尝试运行以下命令:(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"来源:ArchWiki上的xrandr)。该命令的输出应该是正确的设备标识符。
第三方2014年

10
您不需要使用xrandr的sudo
Panther

2
我想补充一点,我有同样的错误-和上面完全不解决问题
TellMeWhy

3
如果您使用的是VM,则显示通常Virtual1不是VGA-0。
Cyber​​Ed

5
您需要用显示器连接替换VGA-0。使用xrandr --listmonitors。请参阅如何解决错误“ xrandr:找不到输出“ VGA1””?
Hooman'3

14

如何设置先前指定的自定义分辨率。执行定义为创建分辨率的其他步骤之后,运行:

xrandr -s 1680x1050

4

运行多个监视器时如何设置先前指定的自定义分辨率。执行定义为创建分辨率的其他步骤之后,运行:

xrandr --output DVI-0 --mode 1680x1050

替换DVI-0为您的设备ID,例如VGA-0


3

感谢汤姆thirdender这基本上是基于对单个命令配置最投票的答案

RES="1920 1200 60" && \
DISP=$(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") && \
MODELINE=$(cvt $(echo $RES) | grep -e "Modeline [^(]" | sed -r 's/.*Modeline (.*)/\1/') && \
MODERES=$(echo $MODELINE | grep -o -P '(?<=").*(?=")') && \
cat > ~/.xprofile << _EOF
#!/bin/sh
xrandr --newmode $MODELINE
xrandr --addmode $DISP $MODERES
_EOF

上面的命令将生成所需的~/.xprofile文件。只要确保使用RES自己喜欢的分辨率(即变量)即可。更多信息在这里

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.