转自: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进行处理,非常感谢!