由于最近项目涉及到虚拟桌面,就花了点时间找了点资料看了一下,目前常用的协议有VNC/SPICE/RDP三种,就在这里做一个简单的介绍。

三种协议的对比


SPICE

VNC

RDP

BIOS屏幕显示

不能

全彩支持

更改分辨率

多显示器

多显示器支持(高达4画面)

只有一个屏幕

多显示器支持

图像传输

图像和图形传输

图像传输

图像和图形传输

视频播放支持

GPU加速支持

不能

GPU加速支持

音频传输

双向语音可以控制

不能

双向语音可以控制

鼠标控制

客户端服务器都可以控制

服务器端控制

服务器端控制

USB传输

USB可以通过网络传输

不能

USB可以通过网络传输


一、VNC

适用系统:windows、linux

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

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

远程桌面协议浅析(VNC/SPICE/RDP)_linux

# 安装
yum install tigervnc-server

#vnc服务器启动
vncserver

#查看连接
vncserver -list

#修改访问密码
vncpasswd

#关闭vncserver
vncserver -kill :n

远程桌面协议浅析(VNC/SPICE/RDP)_linux

配置文件修改

远程桌面协议浅析(VNC/SPICE/RDP)_linux

#配置文件修改 
vim /etc/sysconfig/vncservers

# VNCSERVERS="2:myusername" sessionnumber,用户名
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"

VNCSERVERS="1:root" # display port and username
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd"

远程桌面协议浅析(VNC/SPICE/RDP)_linux


二、SPICE

适用系统:linux

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

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

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


三、RDP

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

适用系统:windows、linux

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

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

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

远程桌面协议浅析(VNC/SPICE/RDP)_linux

#linux上安装rdesktop,用于linux访问windws远程桌面

#安装
yum install rdesktop

#如需要在界面上使用需要安装
yum install tsclient

#使用命令行访问,-f 全屏 -a颜色 -c L 连接类型
rdesktop -f -a 16 119.0.0.100:1234

远程桌面协议浅析(VNC/SPICE/RDP)_linux


#使用rdp协议访问linux
yum install xrdp

#启动xrdp服务
xrdp