标题：远程桌面协议
摘要
远程桌面是方便windows服务器管理员对服务器进行基于图形界面的远程管理.远程桌面是基于RDP(RemoteDesktopProtocol远程桌面协议)的。  
概念
远程桌面协议(RDP)是一个多通道(multi-channel)的协议,让使用者(所在计算机称为用户端或'本地计算机')连上提供微软终端机服务的计算机(称为服务端或'远程计算机').大部分的Windows版本都有用户端所需软件.有些其他操作系统也有这些用户端软件,例如Linux,FreeBSD,MacOSX.服务端计算机方面,则听取送到TCPport3389的数据.
RDP的设计建构于ITUT.share协议(又称为T.128),发展以来各个版本大致为
Version4.0:这是第一个版本.随同终端机服务(TerminalServices)出现在WindowsNT4.0Server,TerminalServerEdition.
Version5.0:由Windows2000Server提供.加入了许多新功能,包括打印到用户端打印机,针对网络带宽使用的改进等等.
Version5.1:由WindowsXPProfessional提供.支持24位颜色显示及声音的支持.
Version5.2:由WindowsServer2003提供,包括了consolemodeconnections,sessiondirectory,以及用户端资源的引用.WindowsCE5.0及6.0均有这个版本的用户端部分.(WindowsCE没有作为服务端的功能)
Version6.0:这是最新的版本,必须有WindowsVista或WindowsServer2008.包括许多重大改进,最值得注意的是可以从远程使用单一应用程序,而非整个桌面;以及32位颜色显示的支持.
  
功能
多种显示支持,包括8,15,16,24,32位色.
128位加密,使用RC4加密算法(此为内定的加密方式;比较旧版的用户端可能使用较弱的加密强度).
支持TLS(TransportLayerSecurity)(前身为SSL).
声音转向(redirection)支持,使用者可以在远程计算机执行有声音的应用程序,但是将声音导引至用户端计算机来听.
文件系统转向支持,使用者可在使用远程计算机的过程中,引用本地(用户端)计算机上的文件系统.
打印机转向支持,在使用远程计算机时,可以使用本地(用户端)计算机上的打印机输出,包括直接连在用户端计算机的打印机或网络共享打印机.
通讯端口转向支持,远程计算机上的应用程序可以使用本地(用户端)计算机上的序列端口或平行端口.
Windows的剪贴板数据可以在远程及本地计算机之间互通
优点
与远程桌面协议兼容的客户端可在多种操作系统上运行，许多Linux系统上甚至将RDP客户端功能列为核心功能之一。此外，用户也不一定要有宽带网络才能连上他们的远程电脑桌面，RDP即使在56K拨接网络下，都还可以提供每秒更新五到六个画面的效果。
版本
RDP的设计建构于国际电信联盟T.share协议（又称为T.128），发展以来各个版本大致为
4.0版：这是第一个版本。随同终端机服务（TerminalServices）出现在WindowsNT4.0Server、TerminalServerEdition。
5.0版：由Windows2000Server提供。加入了许多新功能，包括打印到客户端打印机，针对网络带宽使用的改进等等。
5.1版：由WindowsXPProfessional（XPHome不支持服务端功能）提供。支持24位颜色显示及声音的支持。
5.2版：由Windows Serve r2003提供，包括了consolemodeconnections，sessiondirectory，以及客户端资源的取用。Windows CE5.0及6.0均有这个版本的客户端部分，但Windows CE没有作为服务端的功能。
6.0版：必须要有WindowsXP SP2或Windows Server 2003SP1/SP2或WindowsXP Professionalx 64Edition。包括许多重大改进，最值得注意的是可以从远程使用单一应用程序，而非整个桌面；以及32位颜色显示的支持。
6.1版：必须要有Windows Server 2008或Windows Vista SP1或Windows XP SP3（或SP2之后安装过KB952155的更新档）。
7.0版：这是最新的版本，必须要有Windows Server 2008 R2或Windows 7，Windows Vista SP1或Windows XP SP3（需安装过KB969084的更新档）[1]。
6.0版新功能
远程应用程序：客户端电脑上特定文件格式的相关应用程序可以在远程电脑上。
无缝隙窗口：在客户端电脑上可以直接运行在远程电脑上的应用程序。（不用先连上整个远程电脑的桌面）
终端服务器网关：可以使用front-endIISserver，经由https，来连接back-end TerminalServicesservers。
支持远程WindowsAero画面
支持远程的Windows Presentation Foundation应用程序：兼容的客户端如果支持.NETFramework3.0就能在本地电脑上显示完整的WindowsPresentationFoundation效果。
周边设备转向经过重新设计，可以使用更多样的设备。
经由WMI（WindowsManagementInstrumentation），所有终端服务都可以configure，都可scriptable。
针对客户端做带宽调整。
支持32位显示。
支持双显示器，包括宽屏幕显示。
支持IPv6协议，可以工作在纯IPv6的TCP/IP网络环境中。
第三方客户端
mRemoteMultiDesk
RemoteDesktopOrganizer
Terminals
另见
rdesktop是linux下支持Windows远程桌面连接的客户端程序，在linux系统下可通过它远程访问Windows桌面，支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目，采用RDP（Remote Desktop Protocol,远程桌面协议），几乎可以连接windows的所有版本，诸如NT 4 Terminal Server, 2000, XP, 2003, 2003 R2, Vista, 2008, 7, and 2008 R2等。目前，rdesktop可运行于所有的基于X window平台的Unix系统中,当前稳定版本是1.7.0.
具体使用方法要先打开终端，然后输入以下命令：
rdesktop -u yournape -p password -g 1024*720 192.168.0.2
rdesktop为使用远程桌面连接的命令；
-u 用户名，yourname处为目标客户端的用户名；
-p 客户端用户的密码；
-g 分辨率， 中间用“x”连接，可省略，省略后默认为全屏显示；
192.168.0.1 目标客户端的IP地址
TerminalServices
CitrixMetaFrame
IndependentComputingArchitecture
X窗口系统
VNC
NXtechnology
rdesktop
使用摘要
远程桌面连接代码
screenmodeid:i:2
desktopwidth:i:1152
desktopheight:i:864
sessionbpp:i:16
winposstr:s:0,1,0,0,800,600
fulladdress:s:192.168.1.88
compression:i:1
keyboardhook:i:2
audiomode:i:0
redirectdrives:i:0
redirectprinters:i:1
redirectcomports:i:0
redirectsmartcards:i:1
displayconnectionbar:i:1
autoreconnectionenabled:i:1
username:s:Administrator
domain:s:SERVER-UOMYLEG3
alternateshell:s:
shellworkingdirectory:s:
disablewallpaper:i:1
disablefullwindowdrag:i:1
disablemenuanims:i:1
disablethemes:i:0
disablecursorsetting:i:0
bitmapcachepersistenable:i:1
这些代码用记事本另存为*.rdp就行了.
XP远程桌面mstsc和带参数的mstsc/console的差别
原来我所一直用的所谓的远程桌面，其实算是虚拟的桌面（是另一个桌面），并不是远程主机显示器正显示的桌面。mstsc和mstsc/console两个命令所连接的远程桌面，其实是截然不同滴。前者mstsc连接上远程主机后，本地主机所看到的远程主机的桌面其实是一个虚拟桌面，正如前面所说，并非是远程主机显示器此时显示的桌面，而是精简化之后滴，除了开机就运行的一些程序外，其实在开机之后手动运行的程序是不会显示的，此时远程主机并不会注销当前用户并锁定桌面，而且此在远程主机上的所有操作（这里的操作是说非修改性的操作，比如运行程序，下同）都不会影响本地的使用（当然如删除相关文件则例外）。而带参数mstsc/console则不同，当本地通过此命令连接上远程主机的时候，远程主机便会立即注销当前登陆使用的用户并锁定桌面，而在远程主机上的相关操作都将影响本地的使用，也就是说，当远程主机重新登陆用户的时候，本地将断开与之的连接。
但是它们俩都有个共同点，即在主机上面的操作与修改都将会被记录并保存。其实我今天想说的主要是mstsc,为什么呢？因为只要你的终端连接的个数没有达到上限，你可以在一台电脑上同时用它连接同一台远程PC（那这又有什么用呢？），刚才不是说了吗，你mstsc远程上去之后所运行的程序都不会在远程主机上实际运行，那么第二个mstsc上去之后，在终端上将不会看到第一个mstsc运行的程序。举个例子，如果你第一个mstsc上去之后，登陆一个QQXX，然后你再在第二个mstsc上去，你将看不到QQ程序在运行，且当你同样登陆QQXX，那么，你将会在第一个mstsc上去的终端上看到提示说QQ在别处登陆（纳闷儿不是，都是远程连接在同一台主机上运行的程序，为什么会这样呢）。
[2]