【转】VNC不同软件之间的联系与区别

转自:http://www.52iot.net/book/net/76.mhtml

如果不是经常远程不建议使用VNC,毕竟比较耗资源

vnc比较耗带宽资源,难道你硬生要远程访问firefox,打开 站看视频么,这种需求vnc只有能满足你。
linux选择比较多,我这边只是随便说说。大部分情况下,用好ssh就可以了

VNC由Olivetti & Oracle研究室所開發,此研究室在1999年併入美國電話電報公司(AT&T)。AT&T於2002年中止了此研究室的運作,並把VNC以GPL釋出。

由於VNC以GPL授權,衍生出了幾個VNC軟體:

RealVNC:由VNC團隊部份成員開發,分為全功能商業版及免費版。 
TightVNC:強調節省頻寬使用。 
UltraVNC:加入了TightVNC的部份程式及加強效能的圖型映射驅動程式,並結合Active Directory及NTLM的帳號密碼認證,但僅有Windows版本。 
Vine Viewer:MacOSX的VNC用戶端。 
這些軟體各有所長,例如UltraVNC支援檔案傳輸以及全螢幕模式。而這些軟體間大多遵循基本的VNC協定,因此大多可互通使用。

http://www.realvnc.com/   REALVNC

http://www.tightvnc.com/   TIGHTVNC
 

http://ultravnc.com/        ULTRAVNC

简单地讲VNC是一款远程控制软件。与其他远程控制软件不同的是:

    1.工作在帧缓冲级别(framebuffer level),具有非常好的跨平台性,可以很好的工作具有最简单图形渲染引擎的超级瘦终端平台上。

    2.能够很好的实现桌面的共享,实现多个客户端同时共享同一个桌面环境。

    3.也正是因为运行在帧缓冲级别,所以传输数据量较大。但VNC提出的历史背景就是牺牲带宽,换取超级瘦终端环境。

    VNC是由英国剑桥大学ORL实验室研发的一款超级瘦终端系统。它以1998年 IEEE Internet Computing一篇论文《Virtual Network Computing》的形式而问世。在这篇论文里面讲到了VNC软件的产生背景和应用场景,以及部分内容的原理(截取并以不同编码方式发送相继屏幕图像的差异部分)。数据传输不一定要使用TCP/IP,还可以是IrDA,蓝牙,IEEE-1394,USB),但其谈及的层次也仅仅是科普级别介绍,并没有对协议内容,软件架构,功能模块,原理机制等做详细说明。

   2001年俄罗斯一名研究生Konstantin V Kaplinsky在Modern Technique and Technologies 上发表的《VNC TIGHT ENCODER》中创新性的提出了一种新的VNC编码方式:tight,并以开源VNC为基础加以代码实现,发布了开源版的tightvnc,并由Konstantin团队不定期做版本更新,其中最为稳定的是V1.3版,最近发布了V2.6版本。官 为http://www.tightvnc.com,具有windows,Linux的开源实现。

   在不久之后,以tightvnc开源实现的turbovnc1.0也发布了。turbovnc官 地址为http://www.virtualgl.org,主要由VirtualGL团队维护。turbovnc是在tighvnc的基础上增加了libjpeg库,使得其在远程会话中播放视频应用和运行3D程序上得到很好的效果。实验证明,turbovnc确实比tightvnc在会话中播放视频流畅许多。

  另一方面,原标准VNC团队部分成员组建RealVNC公司,并主要开发和维护商业版本的VNC软件:RealVNC。

  还有一款主要在windows平台上使用的VNC软件是ultravnc。其官 是http://www.ultravnc.com,目前也是开源项目。

  目前使用频率最多的VNC软件系列主要是TightVNC,TurboVNC,RealVNC,UltraVNC,大部分都是开源项目,分别由不同的团队进行不定期的bug修复和维护。学习VNC之前有必要对各个版本的VNC进行简单的使用和性能观察,了解各个版本在不同平台上的表现如何。一般而言,在Linux环境下使用TightVNC或TurboVNC做服务端。在Windows环境下,使用UltraVNC,RealVNC做服务端,最近TightVNC在2.6版本中对其在WIndows平台下进行了优化。  

  虽然,截止目前为止有许多的VNC软件,但它们都遵循了VNC软件的基础协议RFB(Remote Framebuffer )协议,并且图形截取发送与接收渲染都运行在帧缓冲级别,所以能够做到不同客户端,不同服务端以及不同操作系统平台的相互兼容。例如可以使用Windows平台上的ultravnc客户端连接linux平台上的tightvnc服务端,但这种兼容都是以看齐标准VNC而实现的,所以同时丢失了ultravnc和tightvnc在标准VNC上的性能改进。所以为了最大限度的发挥某个版本VNC软件的性能,首先必须保证使用同一款同一版本的服务端和客户端软件;然后了解该软件最适用环境平台,比如UltraVNC,TightVNC都有其在Windows平台的插件,用以提高屏幕变化的截取,编码发送的速度;最后,对TCP/IP协议栈进行调优,比如设置捎带,设置发送窗口大小(这方面的内容介绍将在以后介绍)。

   结束:第一篇主要对VNC进行了科普性的简单介绍。

以下是所有与VNC相关的可能的软件

shell@debian:~$ 
shell@debian:~$ apt-cache search vnc
tightvnc-java – TightVNC java applet and command line program
vnc-java – VNC java applet and command line program
archipel-agent-virtualmachine-vnc – Virtual Machine Orchestration (Agent Virtualmachine VNC)
autocutsel – Keep the X clipboard and the cutbuffer in sync
avahi-ui-utils – Avahi GTK+ utilities
chaosreader – trace network sessions and export it to html format
conspy – Remote control of Linux virtual consoles
directvnc – VNC client using the framebuffer as display
dmtcp – Checkpoint/Restart functionality for Linux processes
dmtcp-dbg – Debug package for dmtcp
gitso – simple frontend for reverse VNC connections (remote assistance)
gnome-rdp – remote desktop client for GNOME
gir1.2-gtk-vnc-2.0 – GObject introspection data for GTK-VNC.
gvncviewer – VNC viewer using gtk-vnc
libgtk-vnc-1.0-0 – VNC viewer widget for GTK+2 (runtime libraries)
libgtk-vnc-1.0-0-dbg – VNC viewer widget for GTK+2 (debugging symbols)
libgtk-vnc-1.0-dev – VNC viewer widget for GTK+2 (development files)
libgtk-vnc-2.0-0 – VNC viewer widget for GTK+3 (runtime libraries)
libgtk-vnc-2.0-0-dbg – VNC viewer widget for GTK+3 (debugging symbols)
libgtk-vnc-2.0-dev – VNC viewer widget for GTK+3 (development files)
libgvnc-1.0-0 – VNC gobject wrapper (runtime libraries)
libgvnc-1.0-0-dbg – VNC gobject wrapper (debugging symbols)
libgvnc-1.0-dev – VNC GObject wrapper (development files)
python-gtk-vnc – VNC viewer widget for GTK+2 (Python binding)
guacamole-tomcat – Tomcat-based Guacamole install with VNC support
guacd – Guacamole proxy daemon
libguac-client-vnc0 – VNC support plugin for Guacamole
hydra – very fast network logon cracker
hydra-gtk – very fast network logon cracker – GTK+ based GUI
libsvnqt7 – Qt wrapper library for Subversion
krdc – Remote Desktop Connection client
krdc-dbg – Remote Desktop Connection client debugging symbols
krfb – Desktop Sharing utility
libnet-vnc-perl – Perl module implementing a simple VNC client
libvncclient0 – API to write one’s own vnc server – client library
libvncclient0-dbg – debugging symbols for libvncclient
libvncserver-config – API to write one’s own vnc server – library utility
libvncserver-dev – API to write one’s own vnc server – development files
libvncserver0 – API to write one’s own vnc server
libvncserver0-dbg – debugging symbols for libvncserver
linuxvnc – VNC server to allow remote access to a tty
nova-console – OpenStack Compute – console
nova-consoleproxy – OpenStack Compute – NoVNC proxy
novnc – HTML5 VNC client – daemon and programs
python-novnc – HTML5 VNC client – libraries
pagekite – Make localhost servers publicly visible.
pyvnc2swf – screen recording tool with Flash (SWF) output
libsvncpp-dev – Subversion C++ library (development files)
libsvncpp3 – Subversion C++ shared library
remmina – remote desktop client for GNOME desktop environment
remmina-plugin-vnc – VNC plugin for remmina remote desktop client
ssvnc – Enhanced TightVNC viewer with SSL/SSH tunnel helper
libsvnclientadapter-java – High-level Java API for Subversion (library)
libsvnclientadapter-java-doc – High-level Java API for Subversion (documentation)
tightvncserver – virtual network computing server software
xtightvncviewer – virtual network computing client software for X
vinagre – remote desktop client for the GNOME Desktop
vino – VNC server for GNOME
virt-manager – desktop application for managing virtual machines
virt-viewer – Displaying the graphical console of a virtual machine
vnc4server – Virtual network computing server software
xvnc4viewer – Virtual network computing client software for X
vncsnapshot – A utility that takes JPEG snapshots from VNC servers
vtgrab – A VNC like console monitoring
websockify – WebSockets support for any application/server
winswitch – tool to start and control remote sessions
x11vnc – VNC server to allow remote access to an existing X session
x11vnc-data – data files for x11vnc
x2vnc – Link a VNC and an X display together, simulating a multiheaded display
xorg-server-source – Xorg X server – source files
xpra – tool to detach/reattach running X programs
xpra-dbg – xpra — debugging symbols
xrdp – Remote Desktop Protocol (RDP) server
shell@debian:~$ 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月14日
下一篇 2021年7月14日

相关推荐