VNC

VNC (Virtual Network Computing)是 虚拟网络 计算机的缩写。VNC 是一款优秀的 远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIXLinux 操作系统的免费的 开源软件远程控制能力强大,高效实用,其性能可以和 WindowsMAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下我只需要其中的两个命令:vncserver 和 vncviewer。

简介

[1] VNC(Virtual Network Computing)基本上是属于一种显示系统,也就是说它能将完整的窗口界面通过网络,传输到另一台 计算机的屏幕上. Windows服务器中包含的"Terminal Server"、Symantec公司开发的收费软件PCAnywhere、近期流行的Teamviewer、国内的 协通XT800快递通KDT)都是属于这种原理的设计,同时这些软件又在VNC的原理基础上做了各自相应改进,提高了易用性、连通率和可穿透内网(Teamviewer、协通XT800、KDT).
VNC是由 AT&T实验室所开发的,其采用GPL(General Public License)授权条款,任何人都可免费取得该软件。VNC软件要由两个部分组成:VNC server 及VNC viewer。用户需先将 VNC server安装在被远程操控的计算算机上后,才能在主控端执行VNC viewer 进行远程操控。 类似的技术为 RDP(Remote Desktop Process),称为“远程桌面连接”,此外,还有一套由Symantec 公司推出的 pcAnywhere 软件也具有类似功能。 VNC、RDP、pcAnywhere 等均为远程登录 Telnet 的图形化界面软件,由 Telnet 软件发展而成。
VNC工作流程
(1) 在服务器端启动 VNC Server。
(2) VNC客户端通过浏览器或 VNC Viewer 连接至VNC Server。
(3) VNC Server传送一对话窗口至客户端,要求输入连接密码, 以及存取的VNC Server显示装置。
(4) 在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。
(5) 若是客户端通过 VNC Server 的验证,客户端即要求VNC Server显示桌面环境。
(6) VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。
(7) VNC Server将来由 X Server 的桌面环境利用VNC通信协议送至客户端, 并且允许客户端控制VNC Server的桌面环境及输入装置。

特点

同样可能远程连入UNIX、Linux进行图形化操作的还有流行的Xmanager,VNC与之相比——两者工作原理不一样,前者(VNC)是远程连入 操作系统,所有操作在UNIX、Linux 主机 服务端进行,即使操作过程中“本地电脑与 操作主机网 络断开”,也不影响操作的顺利进行;而后者(Xmanager)是通过端口将主机服务器的UI界面引导到本地电脑进行展现,如操作过程出现“本地电脑与操 作主机网络断开”,操作将中断失败!如果操作都进行的工作任务非常重要,不能中断,如ORACLE RAC实施,结果是灾难性的!更重要的是,VNC是免费的、开源的,Xmanager你可能用的是破解 注册版的。

组成部分

VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序( vncserver)。VNC的基本运行原理和一些Windows下的 远程控制软件很相象。VNC的服务器端应用程序在UNIX和Linux 操作系统中适应性很强, 图形用户界面十分友好,看上去和Windows下的 软件界面也很类似。在任何安装了客户端的应用程序(vncviewer)的Linux平台的 计算机都能十分方便的和安装了服务器端的应用程序( vncserver)的计算机相互连接。另外,服务器端 ( vncserver)还内建了Java Web接口,这样用户通过服务器端对其他 计算机的操作就能通过 Netscape显示出来了,这样的操作过程和显示方式比较直观方便。

命令描述

vncserver
此服务程序必须在在主(或遥控) 计算机上运行。你只能作为使用者(不需要根用户身份)使用此项服务。
vncviewer
本地应用程序,用于远程接入运行 vncserver计算机并显示其环境。你需要知道远程 计算机的IP地址和 vncserver设定的密码。
vncpasswd
vncserver的密码设置工具。 vncserver服务程序没有设置密码将不能运行(好习惯)。如果你没有设置,运行 vncserver时它会提示你输入一个密码。所以,一般我不会单独运行这个命令来设置密码。
vncconnect
告诉 vncserver连接到远程一个运行vncviewer的 计算机的IP和端口号。这样我就可以避免给其他人一个接入的密码。
Xvnc
一个vnc“主控”程序,一般来说不需要直接运行。( vncserver和vncviewer实际上是Xvnc的脚本)
查找所有可用的选项,运行:
Xvnc --help
出于安全的考虑,一般不建议直接以超级用户帐号运行 vncserver程序。如果你需要 超级用户的环境,请以一般用户登录后再使用su命令登录到超级用户帐号。
VNC运行的工作流程如下:
(1) VNC客户端通过 浏览器或VNC Viewer连接至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的桌面环境及输入装置。

CentOS安装VNC

1、安装VNC

yum install vnc-serve
2、添加用户
useradd vnc
passwd vnc

3、设置用户的vnc密码

su vnc
vncpasswd
exit

4、编辑vnc配置文件

vi /etc/sysconfig/vncservers
在最后加上:
VNCSERVERS="1:vnc"
VNCSERVERARGS[1]="-geometry 1024x768"

5、创建xstartup脚本

centos-6用户忽视此步
/sbin/service vncserver start
/sbin/service vncserver stop
su vnc
vi ~/.vnc/xstartup
加入如下代码:
#!/bin/sh
# Add the following line to ensure you always have an xterm available.
( while true ; do xterm ; done ) &
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
退出到root:
exit

6、启动vnc

/sbin/service vncserver start

7、测试vnc

7.1、使用java连接 vncserver
浏览器中输入http://192.168.0.10:5801登录桌面。
7.2、使用vnc viewer连接 vncserver
打开vnc viewer,在server中输入192.168.0.10:1进行连接。
注意:192.168.0.10替换成自己的服务器IP。
[2]
参考资料
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值