☰

远程桌面协议对比

最近在学习虚拟化相关的知识,遇到远程桌面协议,就简单整理了下找到的资料,目前常用的协议有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.

四、三种协议的对比

  • SPICEVNC(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安装包的问题已经得到解决。

相关文章