远程桌面协议(RDP)是一个
多通道(multi-channel)的协议,让使用者(所在计算机称为用户端或“本地计算机”)连上提供
微软终端机服务的计算机(称为
服务端或“远程计算机”)。
摘要
远程桌面是方便windows服务器管理员对服务器进行基于
图形界面的远程管理.远程桌面是基于RDP(RemoteDesktopProtocol远程桌面协议)的。
概念
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:这是最新的版本,必须有Windows
Vista或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的更新档)。
6.0版新功能
远程
应用程序:客户端电脑上特定
文件格式的相关应用程序可以在远程电脑上。
无缝隙窗口:在客户端电脑上可以直接运行在远程电脑上的应用程序。(不用先连上整个远程电脑的桌面)
终端服务器网关:可以使用front-endIISserver,经由https,
来连接back-end TerminalServicesservers。
支持远程WindowsAero画面
支持远程的Windows Presentation Foundation应用程序:兼容的客户端如果支持.NETFramework3.0就能在本地电脑上显示完整的WindowsPresentationFoundation效果。
经由
WMI(WindowsManagementInstrumentation),所有
终端服务都可以
configure,都可scriptable。
针对客户端做带宽调整。
支持32位显示。
支持IPv6协议,可以工作在纯
IPv6的
TCP/IP网络环境中。
第三方客户端
mRemote
MultiDesk
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”连接,可省略,省略后默认为
全屏显示;
TerminalServices
CitrixMetaFrame
IndependentComputingArchitecture
VNC
NXtechnology
使用摘要
screenmodeid:i:2
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
domain:s:SERVER-UOMYLEG3
alternateshell:s:
shellworkingdirectory:s:
disablewallpaper:i:1
disablefullwindowdrag:i:1
disablemenuanims:i:1
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在别处登陆(
纳闷儿不是,都是
远程连接在同一台主机上运行的程序,为什么会这样呢)。