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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉树总结二

二叉树基本知识点2: 二叉树的非递归后序遍历 前序遍历是:根、左、右,后序遍历是:左、右、根,观察发现:前序和后序刚好遍历顺序相反。由于非递归后序遍历需要保存根节点及第几次访问,比较麻烦。可…

【转】Ubuntu下使用sysv-rc-conf管理服务

转自:https://www.linuxidc.com/Linux/2016-11/136834.htm sysv-rc-conf简介 sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconfig、rcconf好用。 背景知识 Ubuntu运行级别 Linux 系统任何时候都运行在一个指定的运行级上&…

几个常用SQL2000语句

排名语句select *,(select count(1) 1 from tPlanApply where applyquantity> a.applyquantity ) as 名次 from tPlanApply a order by 名次 替换语句 SQL code update tbset 字段replace(字段,替换后字符串,替换前字符串) 转载于:https://www.cnblogs.com/delphix/archiv…

WINCE6.0支持Multiple XIP

1. Multiple XIP support XIP(eXecute-In-Place)是本地执行,允许在ROM芯片内执行XIP区域(region)的应用代码,而不必再把代码读取到RAM中来执行。WINCE支持我们在单个系统中构建(construct)多个XIP区域,基于下面的理由使用多个XIP区域来代替…

【转】How to install VNC server on ubuntu 14.04

转自:https://www.krizna.com/ubuntu/install-vnc-server-ubuntu-14-04/ VNC server is used to share graphical desktop which can be controlled from other computers . This guide is helpful to install VNC server on Ubuntu Desktop 14.04, Ubuntu server …

Nsis 使用1-- 依条件显示自定义页面 custom page on condition

在制作安装程序的时候,我们会经常遇到根据用户的不同选择而随后显示不同的安装信息采集页面。 其实很简单,在使用NSIS的时候发现了这么个方法,记下来防止自己忘记哈:Code; MUI 2 compatible ------!include "MUI2.nsh"!…

WINCE6.0操作系统---内核(kernel)学习

备注:这里的内核指kernel,其表现形式为kernel.dll,OS指操作系统,core指核心。 图1 WINCE6.0体系结构 1. kernel的组成和功能 WINCE6.0操作系统内(kernel)在代码中的表现形式是kernel.dll(也就是kern.dll), WINCE5…

【转】WPF调用图片路径,或资源图片

转自:https://www.cnblogs.com/sntetwt/p/5402098.html 一、加载本项目的图片 WPF引入了统一资源标识Uri(Unified Resource Identifier)来标识和访问资源。 其中较为常见的情况是用Uri加载图像。Uri表达式的一般形式为:协议授权路径 协议:pa…

如何自学java迅速成为java高手

很多网友咨询学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是JAVA私塾愿意将一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛! 要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来…

WINCE6.0体系结构学习

WINCE6.0的体系结构图如下图所示: 图1 WINCE的体系结构 根据上图可以把WINCE6.0体系结构分为硬件层、OEM层、操作系统层和应用层,这四层紧密合作,相互配合来完成从应用程序的调用到对硬件的操作和交互。 1. 硬件层 硬件平台的核心是嵌入…

【转】DICOM图像像素值(灰度值)转换为CT值

转自:https://www.cnblogs.com/xuhui24/p/6193032.html https://zhuanlan.zhihu.com/p/358770379 CT值的单位是Hounsfield,简称为Hu,范围是-1024-3071。用于衡量人体组织对X射线的吸收率,设定水的吸收率为0Hu。 在DICO…

无限级分类查询

关于无限级分类的查询问题 分类表cataid parentid1 02 13 14 25 2 表 table1 id cataid title 一个分类信息表,根类别是parentid为0的 这时要查询出类别1下面的所有内容,怎么查,?转载于:https://www…

C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别

一般我们进行成员变量初始化用两种方法 第一种是通过在构造函数内赋值 class Point{public:Point(){ _x 0; _y 0;};Point( int x, int y ){ _x 0; _y 0; }private:int _x, _y;}; 第二种是使用初始化列表 class Point{public:Point():_x(0),_y(0){};Point( int x, int y ):_…

【转】深度理解C# 的执行原理

转自:https://zhuanlan.zhihu.com/p/47177008 从编译原理说起虚拟机是什么C# 是什么,IL 又是什么.Net Framework vs MonoUnity3D 中的 C#小结作者:易立 | 腾讯IEG高级工程师为什么 Unity3D 可以运行 C#,C# 和 Mono 是什么关系&am…

C#提供的类库能够轻松实现对文件的操作

//C#写入/读出文本文件 stringfileName "c:I.txt";   StreamReader sr newStreamReader(fileName); stringstrsr.ReadLine (); sr.close();  StreamWriterrwFile.CreateText(Server.MapPath(".")"\myText.txt");   rw.WriteLine("写入…

Java程序员的推荐阅读书籍

作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水…

【转】Win10系统创建WiFi热点的两种方法

现在电脑和wifi已经成为很多人生活中不可缺少的一部分,上网过程只有连接WiFi才可以上网。使用windows10系统开启WiFi热点都是提示没有找到支持的无线网卡。不管你是驱动更新,重装,还是怎么操作都是不能用。为此,大家不妨参考下文方…

影院平台搭建 - (6)一个靠谱的视频播放方案的感想

折腾了我很久很久,让我一个月内天天只睡不到6个小时。总算折腾出一套至少我觉得是比较靠谱的东西了。在这里总结一下:1、如果追求画面质量,就不要用FLV格式,算法的先天缺陷导致无论怎么调试画面质量都不能上去。YouTube用MP4格式作…

【转】Win10系统怎么设置无线做AP热点_win10设置无线为ap热点的步骤

转自:http://www.win7zhijia.cn/win10jc/win10_33126.html 在win10系统中,默认情况下无线网卡大部分都用于STA模式,但是有时候需要将无线网卡的工作模式为SoftAP,这样如果有双网卡的话,就能够将本机网络共享给其他PC或…

虚析构函数解析

C 指出:当一个派生类对象通过使用一个基类指针删除,而这个基类有一个非虚的析构函数,则结果是未定义的。运行时比较有代表性的后果是对象的派生部分不会被销毁。如果一个类要被另外一个类继承,而且用其指针指向其子类对象时&#…