转自: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:~$ |
|
|