当前位置:文档之家› WINVNC Server详解

WINVNC Server详解

WINVNC Server详解(本文由VNC官方文档翻译和改编而来,如果需要更详细和更确切的信息,请参看VNC官方文档)作者Somerset(darzui@)第一版(以后还会更新和修正)常规选项(Properties窗口中)(默认为选中)服务器接受从vncviewer程序发送的直接的、基于socket的连接。

如果未选中,则不接受任何连接。

由客户viewer连接时指定的连接号(在viewer的地址输入框中制定)。

通常不需要更改,保持默认值就可以了。

选中,则server自动选择未被使用的连接号;不选中,则指定使用所填写的连接号。

制定连接的密码,客户viewer需要输入这个密码客户端可以同过http://服务器ip:5800+连接号的方式,在浏览器中使用jav a applet访问服务器。

当最后一个客户断开连接的时候,可以选择干下面的事情:1)什么也不干2)锁定计算机3)注销客户端可以看到服务器的屏幕,按时不能操作只能在NT/2000/XP下起作用。

在连接期间,服务器本地的键盘和鼠标将无法操作。

是否在连接期间去除服务器桌面壁纸,以免浪费带宽。

当客户有操作的时候,更新整个屏幕。

当客户有操作的时候,只更新在最前端的窗口当客户有操作的时候,只更新在光标下面的窗口Poll Console Widows OnlyPoll On Event Received Onley(以上几个Pool选项,我发现似乎对实际效果没什么影响,服务器总是会把所有窗口的更新都发送到客户端)高级设置winvnc的一些参数,需要在注册表中指定,可能在注册表的下面几个位置:1)本地机器设置:这里的设置不会被其他位置的设置覆盖。

HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\2)本地默认用户设置:HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default3)本地用户设置:这里的设置会覆盖“本地默认用户设置),如果没有当前用户,则使用SYSTEM用户HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\<username>4)全局用户设置:只有AllowProperties(下面会提到)设置为0,才可以读取这里的设置HKEY_CURRENT_USER\Software\ORL\WinVNC3是否显示“Add New Client”和“Disconnect All Clients”菜单项目。

本地用户设置是否允许viewer连接到在同一台机器上的server。

本地机器设置是否允许查看properties对话框。

本地用户设置是否允许关闭winvnc。

本地用户设置REG_SZ字符串类型,指定一个ip模板列表,只有符合这个模板的客户端才允许连接。

该列表默认为空,任何地方的连接都是允许的。

模板的形式如下:+[ip-address-template]?[ip-address-template]-[ip-address-template][ip-address-template]表示ip地址最左边的部分。

比如+158.97匹配158.97.12.10和158.97.14.2。

多个模板之间用“:”隔开,而且后面的模板会覆盖前面的。

比如-:+158.97将过滤掉除158.97打头的ip以外所有的连接。

如果客户端ip在“?”打头的模板中,那么这个客户端连接上来之后,服务器会弹出一个对话框,提示是否让允许这个客户端连接。

QuerySetting选项将决定AuthHosts 选项的准确行为。

本地机器设置默认情况下,除非服务器密码被设置为一个不为空的值,否则将不接受任何连接。

这是为了安全性的考虑。

设置这个值为0将取消掉空密码检查的限制。

本地机器设置使得winvnc自动使用第一个可用的数字,和Properties对话框里的“Auto”选项作用相同。

本地用户设置或全局用户设置默认情况下,当一个非共享的连接通过验证后,wnc服务器会断开现存的其他连接。

这个选项指定了当接受了一个非共享的连接后,服务器的行为:0:断开所有现存连接1:不断开其他连接2:拒绝这个新连接本地机器设置对log文件进行一些设置DebugMode指定以什么方式记录log。

1=MSVC调试器2=输出到Winvnc.log文件4=输出到控制台窗口也可以对以上数字进行组合,比如DebugMode=6将导致既记录到Winvnc.log文件也输出到控制台窗口DebugLevel指定记录多少信息,可以是任何正整数。

默认为0,即什么都不记录。

10-12将导致记录所有的debug信息。

本地机器设置是否允许java applet客户端连接,和Properties对话框里的“Enable Java Viewer”相同。

本地用户设置或全局用户设置这个选项告诉Winvnc,客户端多少时间不操作,就断开连接。

如果没有设置或设置为0,则没有超时限制。

本地用户设置或全局用户设置是否允许客户端控制服务器。

和Properties对话框中的“Disable Remote key board and pointer”相同。

本地用户设置或全局用户设置当所有连接断开后,服务器的行为0:什么也不干1:锁定计算机2:注销本地用户设置或全局用户设置只接受和server在一台机器上的viewer的连接。

这个设置会覆盖AllowLoopba ck和AuthHosts设置。

连接密码。

本地用户设置或全局用户设置。

PollUnderCursor、PollForeground、PollFullScreen、OnlyPollConsole、OnlyPollOn Evnet和上面提到的设置相同。

本地用户设置或全局用户设置设置vnc的端口号,先禁止掉AutoPortSelect,再设置这个。

本地用户设置或全局用户设置用于定制AuthHost的设置,用于配置“+”、“?”、“-”这三种符号的作用。

是DWORD值,范围从0到4(安全性越来越高)。

以下列出了这个值如何影响AuthHosts的行为。

0 - +:Accept, ?:Accept, -:Query1 - +:Accept, ?:Accept, -:Reject2 - +:Accept, ?:Query, -:Reject [Default]3 - +:Query, ?:Query, -:Reject4 - +:Query, ?:Reject, -:Reject默认情况下,认为值是2。

本地用户设置和全局用户设置是否允许连接对话框显示多少秒之后自动拒绝连接(参看AuthHost和QueryStr ing选项)。

本地用户设置和全局用户设置和Properties对话框的选项作用相同。

本地用户设置或全局用户设置和Properties对话框的选项作用相同。

本地用户设置或全局用户设置VNCHooks-高级设置WinVNC使用了一个特别的库VNCHooks挂接到其他正在运行的程序中,用来捕获屏幕改变区域(这里的“改变区域”是名词短语)的通知。

VNCHooks向可见窗口发送消息,来判断哪些屏幕区域需要更新。

因为不是所有的程序都使用同样的方式更新屏幕,所以需要调整WinVNC来适应不同的需要。

这些配置在注册表以下位置:HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefsuse_Timeruse_KeyPressuse_LbuttonUp,use_MbuttonUp,use_RbuttonUpuse_Deferral命令行参数运行winvnc,并且忽略后面的命令行参数。

比如winnvc –run –install,将只运行vnc,而不执行-install注册winvnc为windows服务移除winvnc服务,然后重新注册为服务移除winvnc服务显示正在运行的winvnc的User Properties窗口,显示当前用户的配置,如果没有winvnc正在运行,则不起作用。

显示正在运行的winvnc的Default Properties窗口,显示默认配置,如果没有winvnc正在运行,则不起作用。

关闭所有正在运行的winvnc显示正在运行的winvnc的about窗口。

让正在运行的winvnc连接到制定主机的viewer。

这个命令的作用和“Add New Client”菜单项相同。

一些问题实验过程:1)在liuqian上,连接DBSERVER,双方桌面都是32位真彩色,没有发现颜色数有变化。

2)当liuqian设置位16位真彩的时候,发现DBSERVER窗口标题拦出现颜色渐变的断层。

实验结果:vnc可以传输32位真彩的桌面方法1:从开始菜单的vnc菜单组中选择"Register VNC Server Service"方法2:运行命令行:winvnc –install这个功能似乎没起作用。

相关主题