2010-09-03 16:24:34 +0000 2010-09-03 16:24:34 +0000
17
17

如何在不重启VNC服务器的情况下,改变VNC服务器的屏幕分辨率?

在启动vnc服务器时,是否可以用几何命令行参数改变浏览器的分辨率?我有一个vncserver配置为宽屏显示器,但我想在1024x768的屏幕上查看。

答案 (7)

11
11
11
2010-12-05 19:18:56 +0000

这个问题也是不久前在堆栈溢出上问过的。https://stackoverflow.com/questions/15816/changing-the-resolution-of-a-vnc-session-in-linux

由Nathan Fellman提供的答案是:

Real VNC服务器4.4包含了对Xrandr的支持,它允许调整VNC的大小。启动服务器:

vncserver -geometry 1600x1200 -randr 1600x1200,1440x900,1024x768

然后调整大小:

xrandr -s 1600x1200
xrandr -s 1440x900  
xrandr -s 1024x768
10
10
10
2010-09-04 09:22:27 +0000
3
3
3
2013-04-26 07:00:41 +0000

如果你需要在不重启VNC服务器的情况下改变设置,我有很好的效果:

vncconfig -set RandR="1024x768,1600x900"

,然后按照fgregg的建议使用xrandr来改变分辨率:

xrandr -s 1024x768
xrandr -s 1600x900
1
1
1
2019-09-22 22:43:57 +0000

使用TigerVNC Windows VNC客户端(查看器)自动解析功能。无需在客户端或服务器上进行任何设置。当你第一次连接到服务器时,分辨率会被设置为服务器端预设的任何分辨率,但你可以通过调整客户端窗口的大小来轻松地改变它;任何分辨率,任何你想要的疯狂的、非标准的、临时性的分辨率。远程桌面的分辨率,比如说KDE,就可以顺利地跟随你的客户端窗口的分辨率。

&005

检查 “Resize Remote session to the local window "是否设置了。

请不要把自动改变分辨率与图像拉伸混淆,也就是所谓的自动缩放。除非你有视力障碍,否则这个功能几乎没有用。它的作用就像流行的位图编辑器中的zoomlooking glass一样。它只是通过拉伸输出图像使像素变大(或变小)。

用户通常想要的是远程会话的真实分辨率变化。这就是我前面说的,这也是TigetVNC客户端能够做到的,只要服务器有匹配的功能。自动解像度可以使图像在任何大小的情况下都能保持清晰。

到目前为止,我发现只有TigerVNC能够实现自动解析**。我测试了TightVNC(开源)、RealVNC(免费版)和UltraVNC(开源),但都没有什么效果,它们最多只能提供无用的自动缩放。https://tigervnc.org/ TigerVNC源码。 https://github.com/TigerVNC/tigervnc (https://github.com/TigerVNC/tigervnc/releases) TigerVNC在GitHub上的版本。 https://github.com/TigerVNC/tigervnc/releases (https://bintray.com/tigervnc/stable/download_file?file_path=vncviewer64-1.9.0.exe) TigerVNC二进制文件下载。[ https://bintray.com/tigervnc/stable/tigervnc/1.9.0 ]&003 &003

如果你只想要查看器,那就只下载查看器,比如 [ vncviewer64-1.9.0.0.exe ]&003,这只是查看器,没有绑定VNC服务器。注意,在TigerVNC服务器上,服务会在后台自动启动,无声无息,这是我非常厌恶的,因为这可能是一个安全威胁。这种低分辨率只有在你第一次连接时才会使用,但之后你可以通过调整客户端窗口的大小来改变分辨率。如果你有好奇心,下面是我的完整的VNC服务器命令:

/usr/bin/Xvnc -log *:syslog:30,TcpSocket:syslog:-1 -inetd -MaxDisconnectionTime=5 -securitytypes=none -displayfd 10 -geometry 1024x768 -AllowOverride=Desktop,AcceptPointerEvents,SendCutText,AcceptCutText,MaxDisconnectionTime,MaxConnectionTime,MaxIdleTime,QueryConnect,QueryConnectTimeOut,AlwaysShared,NeverShared,DisconnectClients,SecurityTypes,Password,PlainUsers -query localhost -once -desktop New session -extension MIT-SHM
``` &001 

根据openSuse软件包的描述,`-randr`--openSuse VNC服务器是建立在TigerVNC代码上的。所以,在我的情况下,TigerVNC客户端与TigerVNC服务器对话,也许这就是为什么这一切是如此无缝的原因:) 


我的客户端设置。我的服务器设置:openSuse 15.1, xorg-x11-Xvnc 1.9.0, vncmanager 1.0.2, GDM, KDE Plasma.
0
0
0
2018-07-15 06:44:35 +0000

我收到了VNC客服的官方回复。

简而言之就是:不,你不能改变远程分辨率来自动匹配本地VNC控制器的窗口/屏幕分辨率。这不是一件坏事,因为你不能共享RDP会话,但你可以共享VNC

我建议在VNC服务器上创建一个配置,允许改变屏幕分辨率,因为我知道windows API允许第三方sw可以编程设置屏幕分辨率。

0
0
0
2011-09-20 21:00:13 +0000

使用TightVNC(至少),如果服务器(windows)改变了屏幕分辨率,那么客户端就会自动改变以匹配新的分辨率。

0
0
0
2017-04-20 20:52:12 +0000

对于TightVNC,点击齿轮图标(设置),将画质改为 “高",效果很好。