转自:http://www.52iot.net/book/net/76.mhtml
 
如果不是经常远程不建议使用VNC,毕竟比较耗资源
 
 
| 不建议使用vnc, 如果只是使用文件服务,可以通过ssh协议的客户端访问过去操作。
 现在gnome,kde, unity都是内置的,只要远程开ssh服务,就可以像操作本地文件系统了,包括用本地的office编辑远程文件,
 个人感觉使用起来,非常方便,除了打开存储文件需要走ssh网络通信
 
 
 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:~$
 | 
 | 
|  |