远程桌面协议对比
远程桌面协议对比
最近在学习虚拟化相关的知识,遇到远程桌面协议,就简单整理了下找到的资料,目前常用的协议有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
点进入之后
选择excel进入如下界面:
很酷吧,要知道这是在纯web中显示的没有任何插件,也没有用到flash等富客户端的内容。
基于Web的VNC客户端 Guacamole
另一个用代理方式的web工具
Guacamole是一个HTML5 Web应用程序,使用像VNC or RDP这样的远程桌面技术来访问远程电脑的桌面。它可作为集中服务器的一个隧道和代理,这样可以通过Web浏览器访问多个桌面。无需插件,客户端只需要一个支持HTML5和AJAX的Web浏览器。 特性 * 接近原生应用的性能 * HTML5客户端不需要插件 * VNC 和 RDP 支持, 其它协议还在开发 * 键盘支持 * 屏幕上的键盘 * 触摸屏支持 * 可扩展的框架
速度和性能不断提升,针对RDP的“颜色深度”参数已经实现。屏幕上的键盘修改,不再持续按住。关于guacd的Debian安装包的问题已经得到解决。