一、vnc工作流程
 
现在,通过互联网我们可以在本地或异地进行工作了,同样也可以对服务器进行远程管理。VNC(Virtual Network Computing)的出现给我们提供了一个新的选择。VNC就是一个通过软件方式实现ATM网络计算机模式的软件系统。它是由AT&T开发的一套远程控制的软件,在遵循GPL的条款下进行分发,也就是说它是一个开放源代码的软件。当网络中的计算机安装了相应的VNC 软件后,就可以在计算机上随时建立和取消对远端计算机的管理控制,所以给这个软件起名为“虚拟网络计算机”。VNC支持的操作系统包括Windows、Unix、Linux。所有不同平台版本的VNC,不管是Server还是Client,都支持VNC的通讯协议RFB,这样就能够很容易地实现不同平台的相互操作。
 
在UNIX/Linux下,对于以往的X—Window应用程序,VNC就直接充当了X-Server这一角色,把所需要显示的内容直接转换成RFB(Remote Fram Buffers),在和远端的VNC Viewer连接的时候,直接就可以处理客户端的操作。VNC工作原理见(图 1)。
图1 VNC工作原理
VNC可以轻松实现对unix,Linux服务器远程管理,整个VNC运行的工作流程如下:
1)VNC客户端通过浏览器或软件连接至VNC Server。
2)VNC Server传送一对话窗口至客户端,要求输入连接密码,以及存取的VNC Server显示装置。
3)在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。
4)若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境。
5)VNC Server通过X-Protocol 要求X Server将画面显示控制权交由VNC Server负责。
6)VNC Server将来由 X Server的桌面环境利用VNC通信协议送至客户端,并且允许客户端控制VNC Server的桌面环境及输入装置。
 
二、在Solaris 下安装企业版本VNC
 
1、下载vnc-E4_3_1-x86_solaris
[url]http://www.realvnc.com/products/enterprise/[/url] 填写用户mail内容,下载vnc-E4_3_1-x86_solaris.pkg
 
2、安装vnc-E4_3_1-x86_solaris
#pkgadd -d vnc-E4_3_1-x86_solaris.pkg
图2 是企业版本VNC安装成功界面。
图2  企业版本VNC安装成功界面
3、修改环境变量
根据图2 提示,添加一行:
PATH=/usr/sbin:/usr/bin:/usr/local/bin:/usr/openwin/bin:/usr/openwin/bin/xauth
Unix是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Solaris来说一般是bash,但也可以重新设定或切换到其它的Shell。环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。
 
4、启动Vncsever
 
设定license
#vnclicense -add MD472-24AGZ-52Q3H-R4NBN-B32YA
启动vncserver
#vncserver
设定连接vnc用的密码,接下来就会自动创建key(用来加密传输数据的)
以上操作的过程如图3。
图3 启动Vncsever
说明:两种级别的安全验证,一种是基于口令的安全验证。只要用户知道自己账号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证用户正在连接的服务器就是用户想连接的服务器,可能会有别的服务器在冒充真正的服务器,这存在着潜在的威胁。
 
一种是基于密匙的安全验证。需要依靠密匙, 也就是用户必须为自己创建一对公匙,密钥,并把公用密匙放在需要访问的服务器上。如果需要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求使用用户的密匙进行安全验证。服务器收到请求之后,先在服务器上用户的主目录下找到该用户的公用密匙,然后把它和用户发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”并把它发送给客户端软件。客户端软件收到“质询” 之后就可以用用户的私人密匙解密再把它发送给服务器。下面做的就是利用第二种基于密匙的安全验证的登录。】
5、在Vista工作站安装企业版本VNC
[url]http://www.realvnc.com/products/enterprise/[/url] 填写用户mail内容,下载vnc-E4_3_1-x86_x64_win32.exe 安装过程笔者就不赘述了。
 
三、在Vista工作站使用vncviwer连接Solaris服务器
Unix系统往往包括多个桌面窗口系统,Solaris使用的是twm、CDE、和JDS。
 
1、使用twm窗口环境
 
TWM是Tab Window Manager for the X Window System的简称,它是一个窗口管理器,初次发布于1988年4月,是个非常容易上手的Window Manager。不像其他的X程序,它没有基于任何GUI组件,而是直接使用的XLib,这样带来的好处就是:小、更方便的配置。 所谓窗口管理器,它是一个特殊的程序,它用来给X程序提供诸如:标题的绘制、窗口阴 影、窗口图标化、用户自定义宏、鼠标点击、键盘焦点、缩放等功能。
 
在在Vista工作站启动vncviwer,在Server栏目输入Solaris服务器ip:1,注意你启动vncserver的时候的序号,用客户端连的时候不要连错了(跟win的不一样,需要指定序号)。在Encryption栏目选择Alwayes on即可。图4 是Vista工作站的中的Solaris服务器的twm窗口。
图4 是Vista工作站中的twm窗口
说明:twm窗口显示比较简单,如果你到服务器的网速很慢那就用twm。在图4中Windows Vista桌面中中内嵌的就是Solaris 10 。】
 
2、使用CDE窗口环境
 
第一个Solaris的桌面环境是OpenWindows。紧接着是Solaris 2.5的CDE。随着通用桌面环境CDE的流行,OpenWindows遭到了淘汰,CDE是通用开放软件环境(Common Open Software Environment,COSE)的第一步,COSE的目标是跨平台来标准化UNIX的操作。除了可以在Solaris上运行之外,CDE也支持HP-UN、Linux和其他UNIX系统。
 
修改/.vnc/xstartup文件注释 twm 一行,
/usr/openwin/bin/twm &
添加一行
/usr/dt/bin/dtsession &
重新启动vncserver连接。图5 是Vista工作站的中的Solaris服务器的CDE窗口。
 
图5 是Vista工作站中的CDE窗口
在图5 中Windows Vista桌面中中内嵌的就是Solaris 10 的CDE窗口 。
 
3、使用JDS窗口环境
 
Solaris 10 新的桌面系统Sun Java Desktop System( 版本3) 将开放源代码软件与Sun 的创新技术结合在一起, 提供了一个完全集成且可互操作的综合性桌面环境,并为该桌面环境提供了一个易于访问且具有现代感的用户界面。Java Desktop System 提供了一个综合的桌面环境,用户可以通过该桌面环境有效地导航并使用桌面上的应用程序和文档。
修改/.vnc/xstartup文件注释 twm和 cde两行,
/usr/openwin/bin/twm &
/usr/bin/gnome-session &
添加一行
/usr/bin/gnome-session &
重新启动vncserver连接。图6 是Vista工作站的中的Solaris服务器的JDS窗口。
图6 是Vista工作站中的JDS窗口
在图6 中Windows Vista桌面中中内嵌的就是Solaris 10 的JDS窗口 。
 
四、在Solaris服务器使用vncviwer连接Vista工作站
 
同样可以使用vncviwer连接连接Vista工作站,首先在Vista工作站启动Vncserver。然后在Solaris服务器上启动vncviwer,如图7。
图7 Solaris服务器上启动vncviwer
通过安全认证即可连接到Vista工作站,如图8
图8 Solaris 10 JDS桌面中的Vista工作站
在图7中Solaris 10 JDS桌面中中内嵌的就是Windows Vista。
 
总结:本文介绍了使用VNC工具实现 Unix 和 Windows 两大阵营之间最新版本操作系统相互管理的方法。本文使用的发行版本分别是
Solaris 10 6/06 和Vista Enterprise。当然除了本文介绍的方法还可以使用samba、ssh服务器和客户端、远程桌面三种方式实现Solaris服务器和Vista工作站的互联。