我在一台机器上安装了 Ubuntu 12.04,并且总是通过 VNC 远程使用它。当我将显示器连接到这台机器时,我可以通过以下行更改 VNC 查看器的分辨率:
$vnc4server --geometry 1440x900
这对我有用,但我总是远程使用这台机器,我拔下显示器并重新启动。上面的命令行不再起作用。
然后我尝试兰德
SZ: Pixels Physical Refresh
*0 1024 x 768 ( 260mm x 195mm ) *60
Current rotation - normal
Current reflection - none
Rotations possible - normal
Reflections possible - none
只有一个可用选项,因此我尝试添加一个新的选项。
$cvt 1440 900
# 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
$xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
$xrandr --addmode S2 "1440x900_60.00"
然后我检查了兰德再次不能查看新添加的模式。
我尝试执行以下命令并出现错误,提示我的 RandR 太旧。
$xrandr --output S2 --mode 1440x900_60.00
xrandr: Server RandR version before 1.2
但这对我来说没有意义,如果我重新插入显示器并运行 xrandr 命令,它又可以工作了!看来 Ubuntu 必须连接到真正的显示器,然后我才能在 VNC 查看器中更改分辨率。
有人可以帮忙吗?
更新: 最后我通过改变来解决这个问题紧密型VNC服务器
$tightvncserver -geometry 1440x900
对我有用。
谢谢,一切都回答了我的问题
答案1
当您通过 VNC 连接到无显示器的 PC 时,您可以通过执行以下命令来更改分辨率:
xrandr --fb 1280x1024
来源: http://www.x.org/archive/X11R7.5/doc/man/man1/xrandr.1.html
答案2
查看 xrandr 的文档,它依赖于从显示器获取信息以了解支持的分辨率。如果没有连接显示器,xrandr 没有信息可用于设置显示分辨率,并且很可能从 VNC 连接的显示首选项中设置的分辨率中获取信息。没有显示器 = 屏幕分辨率不会改变。