WINVNC Server详解

WINVNC Server详解

 

(本文由VNC官方文档翻译和改编而来,如果需要更详细和更确切的信息,请参看VNC官方文档www.realvnc.com

 

 

作者Somerset(darzui@yahoo.com.cn)

第一版(以后还会更新和修正)

常规选项(Properties窗口中)

Accept Socket Connections

(默认为选中)服务器接受从vncviewer程序发送的直接的、基于socket的连接。如果未选中,则不接受任何连接。

Display Number

由客户viewer连接时指定的连接号(在viewer的地址输入框中制定)。通常不需要更改,保持默认值就可以了。

Auto

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

Password

制定连接的密码,客户viewer需要输入这个密码

Enable Java Viewer

客户端可以同过http://服务器ip:5800+连接号 的方式,在浏览器中使用java applet访问服务器。

When Last Client Disconnects

当最后一个客户断开连接的时候,可以选择干下面的事情:

1)  什么也不干

2)  锁定计算机

3)  注销

Disable Remote Keyboard & Pointer

客户端可以看到服务器的屏幕,按时不能操作

Disable Local Keyboard & Pointer

只能在NT/2000/XP下起作用。在连接期间,服务器本地的键盘和鼠标将无法操作。

Remove Desktop Wallpaper

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

Poll Full Screen

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

Poll Foreground Windows

当客户有操作的时候,只更新在最前端的窗口

Poll Window Under Cursor

当客户有操作的时候,只更新在光标下面的窗口

Poll Console Widows Only

Poll On Event Received Onley

(以上几个Pool选项,我发现似乎对实际效果没什么影响,服务器总是会把所有窗口的更新都发送到客户端)

高级设置

winvnc的一些参数,需要在注册表中指定,可能在注册表的下面几个位置:

1本地机器设置:这里的设置不会被其他位置的设置覆盖。

HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3/

2本地默认用户设置

HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3/Default

3本地用户设置:这里的设置会覆盖“本地默认用户设置),如果没有当前用户,则使用SYSTEM用户

HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3/<username>

4全局用户设置:只有AllowProperties(下面会提到)设置为0,才可以读取这里的设置

HKEY_CURRENT_USER/Software/ORL/WinVNC3

AllowEditClients

是否显示“Add New Client”和“Disconnect All Clients”菜单项目。本地用户设置

AllowLoopback

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

AllowProperties

是否允许查看properties对话框。本地用户设置

AllowShutdown

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

AuthHosts

REG_SZ字符串类型,指定一个ip模板列表,只有符合这个模板的客户端才允许连接。该列表默认为空,任何地方的连接都是允许的。模板的形式如下:

+[ip-address-template]

?[ip-address-template]

-[ip-address-template]

[ip-address-template]表示ip地址最左边的部分。比如+158.97匹配158.97.12.10158.97.14.2。多个模板之间用“:”隔开,而且后面的模板会覆盖前面的。比如-:+158.97将过滤掉除158.97打头的ip以外所有的连接。如果客户端ip在“?”打头的模板中,那么这个客户端连接上来之后,服务器会弹出一个对话框,提示是否让允许这个客户端连接。QuerySetting选项将决定AuthHosts选项的准确行为。本地机器设置

AuthRequired

默认情况下,除非服务器密码被设置为一个不为空的值,否则将不接受任何连接。这是为了安全性的考虑。设置这个值为0将取消掉空密码检查的限制。本地机器设置

AutoPortSelect

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

ConnectProiority

默认情况下,当一个非共享的连接通过验证后,wnc服务器会断开现存的其他连接。这个选项指定了当接受了一个非共享的连接后,服务器的行为:

0:断开所有现存连接

1:不断开其他连接

2:拒绝这个新连接

本地机器设置

DebugLevel,DebugMode

log文件进行一些设置

DebugMode指定以什么方式记录log

1=MSVC调试器

2=输出到Winvnc.log文件

4=输出到控制台窗口

也可以对以上数字进行组合,比如DebugMode=6将导致既记录到Winvnc.log文件也输出到控制台窗口

DebugLevel指定记录多少信息,可以是任何正整数。默认为0,即什么都不记录。10-12将导致记录所有的debug信息。本地机器设置

HTTPConnect

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

IdleTimeout

这个选项告诉Winvnc,客户端多少时间不操作,就断开连接。如果没有设置或设置为0,则没有超时限制。本地用户设置全局用户设置

InputEnabled

是否允许客户端控制服务器。和Properties对话框中的“Disable Remote keyboard and pointer”相同。本地用户设置全局用户设置

LockSetting

当所有连接断开后,服务器的行为

0:什么也不干

1:锁定计算机

2:注销

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

LoopbackOnly

只接受和server在一台机器上的viewer的连接。这个设置会覆盖AllowLoopbackAuthHosts设置。

Password

连接密码。本地用户设置全局用户设置

PollUnderCursorPollForegroundPollFullScreenOnlyPollConsoleOnlyPollOnEvnet

和上面提到的设置相同。本地用户设置全局用户设置

PortNumber

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

QuerySetting

用于定制AuthHost的设置,用于配置“+”、“?”、“-”这三种符号的作用。是DWORD值,范围从04(安全性越来越高)。以下列出了这个值如何影响AuthHosts的行为。

0 - +:Accept, ?:Accept, -:Query

1 - +:Accept, ?:Accept, -:Reject

2 - +:Accept, ?:Query, -:Reject [Default]

3 - +:Query, ?:Query, -:Reject

4 - +:Query, ?:Reject, -:Reject

默认情况下,认为值是2本地用户设置全局用户设置

QueryTimeout

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

RemoveWallpaper

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

SocketConnect

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

 

VNCHooks-高级设置

WinVNC使用了一个特别的库VNCHooks挂接到其他正在运行的程序中,用来捕获屏幕改变区域(这里的“改变区域”是名词短语)的通知。VNCHooks向可见窗口发送消息,来判断哪些屏幕区域需要更新。因为不是所有的程序都使用同样的方式更新屏幕,所以需要调整WinVNC来适应不同的需要。这些配置在注册表以下位置:

HKEY_CURRENT_USER/Software/ORL/VNCHooks/Application_Prefs

user_GetUpdateRect

use_Timer

use_KeyPress

use_LbuttonUpuse_MbuttonUpuse_RbuttonUp

use_Deferral

命令行参数

-run

运行winvnc,并且忽略后面的命令行参数。比如winnvc –run –install,将只运行vnc,而不执行-install

-install

注册winvncwindows服务

-reinstall

移除winvnc服务,然后重新注册为服务

-remove

移除winvnc服务

-settings

显示正在运行的winvncUser Properties窗口,显示当前用户的配置,如果没有winvnc正在运行,则不起作用。

-defaultsettings

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

-kill

关闭所有正在运行的winvnc

-about

显示正在运行的winvncabout窗口。

-connent[host]

让正在运行的winvnc连接到制定主机的viewer。这个命令的作用和“Add New Client”菜单项相同。

一些问题

颜色数量的问题

实验过程:

1)  liuqian上,连接DBSERVER,双方桌面都是32位真彩色,没有发现颜色数有变化。

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

实验结果:

vnc可以传输32位真彩的桌面

vnc server作为服务(service)运行

方法1:从开始菜单的vnc菜单组中选择"Register VNC Server Service"

方法2:运行命令行:winvnc –install

向服务器发送Ctrl+Alt+Del的问题

这个功能似乎没起作用。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值