如何在没有监视器的情况下为Ubuntu 12.04更改VNC查看器中的屏幕分辨率?


9

我在计算机上安装了Ubuntu 12.04,并且始终从VNC远程使用它。将显示器连接到本机后,可以在以下行中更改VNC查看器的分辨率:

$vnc4server --geometry 1440x900

这对我有用,但是我总是远程使用这台机器,拔下显示器的电源并重新启动。并且上述命令行不再起作用。

然后我尝试了xrandr

 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"

然后我检查xrandr一次不能看到添加的新模式。

我尝试执行以下命令,并收到错误消息说我的RandR太旧了。

$xrandr --output S2 --mode 1440x900_60.00
xrandr: Server RandR version before 1.2

但这对我来说没有意义,如果我插回显示器并运行xrandr命令,它将再次起作用!看来我必须在真正的监视器上连接Ubuntu,然后才能在VNC查看器中更改分辨率。

有人可以帮忙吗?

更新: 最后我通过更改为tightvncserver解决了这个问题

$tightvncserver -geometry 1440x900 

为我工作。

谢谢一切回答了我的问题


2
您需要发布对自己有用的答案,以便将其标记为已接受,其他人则可以从中受益。
kiri

Answers:



2

查看xrandr的文档,它依赖于从显示屏获取信息以获取受支持的分辨率。在未连接任何显示器的情况下,xrandr没有可用于设置显示分辨率的信息,并且很可能会从您在VNC连接的“显示”首选项中设置的分辨率中获取信息。无显示=屏幕分辨率无变化。


我正在使用RealVNC的VNC Viewer客户端,找不到在客户端中控制屏幕分辨率的选项。在Ubuntu中,$ vnc4server --geometry 1440x900无效。
王先生,隔壁

说明:显示分辨率是通过主机的“显示首选项”设置的,而不是VNC客户端的分辨率设置。如果主机未连接监视器,则分辨率切换将不起作用。
douggro

但是我无法在“系统设置”>“显示”中更改分辨率设置,当我单击它时,它说“ RANDR扩展名太旧(必须至少为1.2)
王先生来自隔壁

然后,您可能必须删除并重新安装xrandr。当前版本是1.4.0。无论如何,如果没有连接显示器,您将无法切换分辨率。如果没有连接监视器,终端的输出是xrandr什么?
douggro

我已经从这里将 xrandr更新为1.4.0-1 ,仍然出现相同的错误。如果连接后无法在VNC内切换分辨率,如何在连接前设置分辨率,以便在最初打开VNC查看器时生效?
隔壁王先生(Mr. Wang)从
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.