Xrandr(简体中文)
• 1 设置分辨率
• 2 添加未被检测到的有效分辨率
• 3 使xrandr所更改的分辨率设置永久生效
o 3.1 在xorg.conf设置分辨率(推荐)
o 3.2 在xprofile设定xrandr命令
o 3.3 在KDM/GDM的启动脚本设定xrandr命令
• 4 图形前端
o 4.1 ARandR
o 4.2 LXrandR
• 5 疑难排除
o 5.1 分辨率低于理想值
▪ 5.1.1 修改xorg.conf
• 6 通过Windows客户端查询有效扫描频率
• 7 脚本
• 8 在VNC上使用xrandr
• 9 参见
设置分辨率
xrandr命令可以直接向您分别显示系统当前有效输出设备的名称(LVDS或VGA-0等等)和所有有效分辨率。
Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 1400 x 1400
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected 1400x1050+0+0 (normal left inverted right x axis y axis) 286mm x 214mm
1400x1050 60.0*+ 50.0
[...]
您可以通过xrandr为某显示器指定一种分辨率,示例,且其中--output参数指定显示器,--mode参数指定一种有效分辨率:
xrandr --output LVDS --mode 1024x768
也可以与此同时地,或独立地使用--rate参数来修改刷新率,:
xrandr --output LVDS --mode 1024x768 --rate 75
注意: 您通过xrandr所作出的更改只能在当前会话暂时生效。 添加未被检测到的有效分辨率
由于出错的硬件或驱动,xrandr可能并不能检测出您的显示器所有的有效分辨率。不过,我们可以在xrandr里添加所需要的分辨率。
首先,运行gtf或者cvt,查询某分辨率的有效扫描频率。对于个别LCD显示器(例如samsung 2343NW),可能需要用到\"cvt -r\"(具有减少空白显示的效果)命令。
$ cvt 1280 1024
# 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
Modeline \"1280x1024_60.00\" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
然后通过--newmode参数新建一种xrandr模式,输入上面所得到的查询结果,其中Modeline关键词自然需要被省略。
xrandr --newmode \"1280x1024_60.00\" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
新建模式后,我们需要把这模式添加到当前的输出设备(假定为VGA1)上。由于一些参数已经事先设置,只需输入模式名称即可,即1280x1024_60.00。
xrandr --addmode VGA1 1280x1024_60.00
最后,再把VGA1的分辨率指定为刚刚添加的新模式。
xrandr --output VGA1 --mode 1280x1024_60.00
注意,以上设置同样地只能在当前会话暂时生效。
如果您对所要添加的某分辨率感到不放心,您可以追加新命令“sleep 5”以及一条切换到已有有效分辨率的命令,以保证不会被困在实际无效的分辨率,示例:
xrandr --output VGA1 --mode 1280x1024_60.00 && sleep 5 && xrandr --newmode \"1024x768-safe\" 65.00 1024 1048 1184 1344 768 771 777 806 -HSync -VSync && xrandr --addmode VGA1 1024x768-safe && xrandr --output VGA1 --mode 1024x768-safe
其他输出设备如法炮制:VGA1或DVI-I……
使xrandr所更改的分辨率设置永久生效
使xrandr定制永久生效的方案有:
• xorg.conf(推荐)
• .xprofile
• kdm/gdm
在xorg.conf设置分辨率(推荐)
示例:
/etc/X11/xorg.conf
Section \"Monitor\"
Identifier \"External DVI\"
Modeline \"1280x1024_60.00\" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
Option \"PreferredMode\" \"1280x1024_60.00\"
EndSection
Section \"Device\"
Identifier \"ATI Technologies, Inc. M22 [Radeon Mobility M300]\"
Driver \"ati\"
Option \"Monitor-DVI-0\" \"External DVI\"
EndSection
Section \"Screen\"
Identifier \"Primary Screen\"
Device \"ATI Technologies, Inc. M22 [Radeon Mobility M300]\"
DefaultDepth 24
SubSection \"Display\"
Depth 24
Modes \"1280x1024\" \"1024x768\" \"640x480\"
EndSubSection
EndSection
Section \"ServerLayout\"
Identifier \"Default Layout\"
Screen \"Primary Screen\"
EndSection
关于更多的配置细节,请阅读Xorg (简体中文)或man xorg.conf。
在xprofile设定xrandr命令
请阅读xprofile.
这方案具有缺点:如果您使用Display Manager (简体中文)的话,那么在启动进程之后很大程度上就会执行失败,最终无法顺利修改分辨率。
在KDM/GDM的启动脚本设定xrandr命令
KDM和GDM都具备在X初始化时,会被自动执行的启动脚本。GDM的启动脚本放在/etc/gdm/, KDM的则是/usr/share/config/kdm/Xsetup。您可以把相关的xrandr命令添加到这些启动脚本里。
这些脚本需要root权限及其他系统配置的配合,不过在启动进程里会比xprofile更早生效。
因篇幅问题不能全部显示,请点此查看更多更全内容