文章目录

远程桌面协议对比

最近在学习虚拟化相关的知识,遇到远程桌面协议,就简单整理了下找到的资料,目前常用的协议有VNC/SPICE/RDP三种,就在这里做一个简单的介绍。

一、VNC

适用系统:windows、linux

网络流量:较小,常用100k左右

适用场景:主要用于linux的服务器的管理,由于无声音和usb传输,不满足于虚拟桌面的使用

二、SPICE

适用系统:linux

网络流量:较大,正常使用10-20M

适用场景:由于在色彩、音频和usb方面,适用于虚拟桌面,主要用于虚拟机的虚拟桌面应用

使用:安装后,需要在虚拟机中配置,参考本人关于虚拟机的blog。

三、RDP

目前在windows上 rdp有两种,remote,remotefx

适用系统:windows、linux

网络流量:较小,正常使用100-200k左右

适用场景:由于在色彩、音频、usb及本地磁盘映射方面较好,非常适用于虚拟桌面

windows 使用:系统安装后即可使用。

使用rdp协议访问远程Linux桌面

xrdp的github地址:https://github.com/neutrinolabs/xrdp

一般情况下,如果需要登陆远程Linux系统,我们会使用ssh/telnet来完成,如果需要登陆到远程Linux系统的桌面环境,我们可能会使用VNC。VNC是大部分Linux发行版默认的基于RFB协议的远程桌面程序,但对于普通用户来说,VNC的用户体验并不好,它太慢了。当然,这个“慢”也不是不可以改进,如果我们选择一个强大的客户端,比如UltraVNC,操作会流畅不少。但是UltraVNC只支持Windows系统,在Linux下我还没找到与之相当的客户端。

如果您使用过Windows下的远程桌面,应该会对其操作的流畅性有很深的印象。Windows的远程桌面基于RDP协议,在Linux下,我们也是可以找到开源的rdp server的,这就是xrdp。

如果您是Ubuntu用户,可以简单的使用命令“sudo apt-get install xrdp”来安装xrdp。安装完毕之后,第一次使用可以用命令“sudo service xrdp start”来启动服务,之后,就可以在别的计算机上用任何支持RDP协议的客户端来访问这个桌面了。

FreeRDP

https://github.com/FreeRDP/FreeRDP

FreeRDP: A Remote Desktop Protocol Implementation FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Enjoy the freedom of using your software wherever you want, the way you want it, in a world where interoperability can finally liberate your computing experience.

四、三种协议的对比

- SPICE VNC(RFB) RDP
BIOS屏幕显示 不能
全彩支持
更改分辨率
多显示器 支持(高达4画面) 只有一个屏幕 支持
图像传输 图像和图形传输 图像传输 图像和图形传输
视频播放支持 GPU加速支持 不能 GPU加速支持
音频传输 双向语音可以控制 不能 双向语音可以控制
鼠标控制 客户端服务器都可以控制 服务器端控制 服务器端控制
USB传输 USB可以通过网络传输 不能 USB可以通过网络传输

五、HTML5 通过RDP实现的远程桌面访问

Ericom

ericom 这个公司好像比较强大,已经进入中国市场。

在线demo:http://www.ericom.com/AccessNow_DemosIntro.asp

点进入之后

https://img-my.csdn.net/uploads/201203/12/0_1331562088LhDD.gif

选择excel进入如下界面:

https://img-my.csdn.net/uploads/201203/12/0_1331562285oxDd.gif

很酷吧,要知道这是在纯web中显示的没有任何插件,也没有用到flash等富客户端的内容。

基于Web的VNC客户端 Guacamole

另一个用代理方式的web工具

http://guacamole.apache.org/

Guacamole是一个HTML5 Web应用程序,使用像VNC or RDP这样的远程桌面技术来访问远程电脑的桌面。它可作为集中服务器的一个隧道和代理,这样可以通过Web浏览器访问多个桌面。无需插件,客户端只需要一个支持HTML5和AJAX的Web浏览器。 特性 * 接近原生应用的性能 * HTML5客户端不需要插件 * VNC 和 RDP 支持, 其它协议还在开发 * 键盘支持 * 屏幕上的键盘 * 触摸屏支持 * 可扩展的框架

速度和性能不断提升,针对RDP的“颜色深度”参数已经实现。屏幕上的键盘修改,不再持续按住。关于guacd的Debian安装包的问题已经得到解决。