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

目录

1简介

2特点

3组成部分

4命令描述

5VNC

▪ 安装VNC
▪ 添加用户
▪ 设置用户的vnc密码
▪ 编辑vnc配置文件
▪ 创建xstartup脚本
▪ 启动vnc
▪ 测试vnc

1简介

[1]VNC(Virtual Network Computing)基本上是属于一种显示系统,也就是说它能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上. Windows服务器中包含的"Terminal Server"、Symantec公司开发的收费软件PCAnywhere、近期流行的Teamviewer、国内的协通XT800(快递通KDT)都是属于这种原理的设计,同时这些软件又在VNC的原理基础上做了各自相应改进,提高了易用性、连通率和可穿透内网(Teamviewer、协通XT800、KDT).
VNC由Olivetti & Oracle研究室所开发,此研究室在1999年并入美国电话电报公司(AT&T)。AT&T于2002年中止了此研究室的运作,并把VNC以GPL发布。
因为它是免费的, 并且可用于数量庞大的不同操作系统, 它的简单,可靠,和向后兼容性, 使之进化成为最为广泛使用的远程控制软件,多平台的支持对网络管理员是十分重要的,它使网络管理员可以使用一种工具管理几乎所有系统。
原来的AT&T版本已经不再使用,因为更多有重大改善的分支版本已经出现, 像是RealVNC, VNC tight 和UltraVNC, 他们具有全面的向后兼容。至少对于基本的远程控制功能而言。 Real VNC 是当前最活跃和强大的主流应用。
VNC对于简单的远程控制几乎完美,但是缺少对于大机构的桌面帮助功能, 主要是日志记录和安全功能没有足以达到此目的。 VNC为远程工作人员或瘦客户机也没有做好准备, 因为目前还没有支持远程应用程序的本地打印。
因为VNC 本来是开发用在局域网的环境, 因此用在互联网上存在安全问题, 当您计划在远程位置访问远程PC,你应该考虑一个专用的调制解调器或ISDN的拨号连接,VPN隧道,所有使用SSL或包裹VNC通信。[2]
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的桌面环境及输入装置。

2特点

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

3组成部分

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

4命令描述

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的桌面环境及输入装置。

5VNC

安装VNC

yum install vnc-server

添加用户

useradd vnc
passwd vnc

设置用户的vnc密码

su vnc
vncpasswd
exit

编辑vnc配置文件

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

创建xstartup脚本

centos-6用户忽视此步
/sbin/servicevncserverstart
/sbin/servicevncserverstop
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

启动vnc

/sbin/service vncserver start

测试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。

VNC介绍(第一篇)相关推荐

  1. 如何介绍世界上第一台计算机,[世界第一台计算机]计算机简单的自我介绍第一篇...

    无论是找工作还是申请学校,面试都是大家必经的一个过程.而每一场面试几乎都是以"自我介绍"开始的.那么面试计算机应该怎么自我介绍?以下是答.案.网 ZqNf.Com小编为您整理的计算 ...

  2. Excel 注解介绍.第一篇

    一.注解 ExcelTarget 这个用处其实不大 这个是作用在导出的实体类上面,属性也只有一个id 就像注释说的,主要是给这个导出类标示一个ID,这样我们如果出现一个类要对应多个Excel就可以根据 ...

  3. VNC介绍(第二篇)

    VNC(Virtual Network Computing),为一种使用RFB协议的屏幕画面分享及远程操作软件.此软件借由网络,可发送键盘与鼠标的动作及实时的屏幕画面. VNC与操作系统无关,因此可跨 ...

  4. IPC基础概念介绍第一篇(Serializable接口)

    IPC主要包括Serializable接口,Parcelable接口以及Binder. 1.Serializable是java所提供的一个序列化接口,它是一个空接口,为对象提供标准的序列化和反序列化操 ...

  5. IIS负载均衡-Application Request Route详解第一篇: ARR介绍

    IIS负载均衡-Application Request Route详解第一篇: ARR介绍   说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Appli ...

  6. Go实现Raft第一篇:介绍

    女主宣言 今天小编为大家分享一篇关于Golang实现Raft的文章,本篇文章为系列中的第一篇,对Raft进行一个全面的介绍,为后面进行Raft的实现打基础.希望能对大家有所帮助. PS:丰富的一线技术 ...

  7. Redis入门第一篇【介绍、安装】

    tags: Redis title: Redis入门第一篇[介绍.安装] 为什么要用Redis 我对Redis的简单理解:Redis相信学JavaEE的同学都听过这个名词,它是一个缓存数据库. Red ...

  8. 负载均衡原理剖析与实践:负载均衡第一篇-介绍篇

    负载均衡第一篇-介绍篇   系列文章索引: 负载均衡第一篇-介绍篇 负载均衡第二篇-负载均衡基础知识普及   前言:相信朋友们对负载均衡应该不陌生了!特别是对搞运维的朋友!可能很多的技术人员认为,负载 ...

  9. 第一篇博客——自我介绍篇

    首先介绍下自己.我来自山东理工大学,专业为矿业工程,是一名非科班专业应届毕业生. 这是我的第一篇博客.之前从来没接触过博客,一直都是在笔记本记录,沾边一点的也就是发发朋友圈.今天是我写博客的第一天,从 ...

最新文章

  1. 使用 jetty-maven-plugin发布maven项目
  2. 漫说单例模式--宝宝成长记 你真的了解了吗?
  3. 跳一跳201803-1
  4. 计算机的前端总线又称为,《计算机组成原理》复习资料
  5. 二进制和八进制表示法
  6. TikZ学习笔记番外篇: 使用tikzcd包绘制交换图
  7. 编程语言对比 面向对象
  8. mac上解决Resource temporarily unavailable
  9. 博客第二课-静态主页
  10. 如何实现excel服务器的用户管理和认证管理
  11. python 爬取有道词典的翻译 *渔夫版
  12. Global项目|浅析销售BOM实施方案及注意事项
  13. 常见iOS开发面试题(有10w多访问量的面试题)
  14. 职业规划 思维导图
  15. 批归一化(Batch Normalization)详解
  16. Java架构师之路:从Java码农到年薪八十万的架构师
  17. MATLAB中repmat函数用法
  18. 开源数据计算引擎,实现媲美ElasticSearch的高性能并发查询
  19. 杰理之flash常见问题【篇】
  20. 计算机桌面是哪个文件夹,windows的桌面文件夹是哪个?

热门文章

  1. boost::copy相关的测试程序
  2. boost::hana::detail::unpack_flatten用法的测试程序
  3. GDCM:gdcm::FileDerivation的测试程序
  4. GDCM:Torture的测试程序
  5. GDCM:gdcm::File的测试程序
  6. boost::core模块实现交换primitive
  7. boost::callable_traits移除const成员的测试程序
  8. Boost:bind绑定数据成员的测试程序
  9. ITK:将静态密集2D级别集可视化为高程图
  10. ITK:全局注册两个图像(仿射)