Linux终端无缝访问远程Windows应用程序的方法及其装置制造方法及图纸

技术编号:4128144 阅读:409 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种Linux终端无缝访问远程Windows应用程序的方法及其装置,其中该装置包括:Windows服务器端,用于截获Windows应用程序所需的显示调用;Linux客户端,用于从所述Windows服务器端接收所述显示调用,将所述显示调用转换为本地绘图操作,根据所述本地绘图操作完成实际的绘制操作。本发明专利技术实现了无缝访问远程Windows应用程序。

【技术实现步骤摘要】

本专利技术涉及访问远程Windows应用程序的方法,特别是涉及一种基于C/S (Client/Server,客户端/服务器端)架构的Linux终端访问远程Windows应用 程序的方法及其装置,以保证Windows应用程序能够无缝地显示在Linux终 端窗口系统中,对于用户是透明的。
技术介绍
现有的在Linux终端上访问Windows程序的方法,大体上可以分成三类 一类是利用瘦客户协议(例如RDP、 VNC、 THINC等)访问远程Windows 服务器,另一类是在Linux系统上运行模拟器(例如VMWare等),最后一 类是在Linux系统中提供Windows API的实现(例如Wine等)。并且这三种 方法中只有瘦客户协议方法能够访问远程Windows应用程序,后两种方法一 般将Windows应用程序放到Linux终端上运行。其中RDP (Remote Desktop Protocol)是远程桌面协议,VNC (Virtual Network Computing)是虚拟网络i十 算,THINC ( Thin-Client Internet Computing )是瘦客户网络计算,API (Application Program Interface)是应用程序接口 。瘦客户协议方法对用户完全透明,性能较高,并且对Linux客户端要求低, 因此得到了广泛应用。但这些瘦客户协议一般显示的是整个Windows窗口而 非单个应用程序,因此所有远程应用程序都在本地的一个任务栏中。当Linux 终端用户需要在本地应用和远程应用之间切换窗口时,或者用户需要运行多个 服务器上的应用程序时,单纯的瘦客户协议不能很好的满足用户需要。为了进 一步提升用户的体验,出现了无缝窗口 (Seamless Window)的概念。无缝窗 口使得远程应用程序在外观、感觉以及执行等各方面都与本地安装的应用程序 类似,它并没有一个公认的定义,可简单的归纳为如下几点1、 应用程序在外观上不具有远程桌面框架;2、 用户可以最大化、最小化或者调整应用程序的窗口大小;3、 用户可以像点击和拖动本地应用程序的窗口一样移动应用程序到达会 话窗口;4、 当从已有应用程序的窗口中启动一个新的应用程序时, 一个应用程序 按钮将出现在用户的任务栏上。虽然在一些商业系统例如Citrix MetaFmme等已经集成了无缝窗口的概 念,但这些无缝窗口的实现技术一般是基于窗口裁减的,也就是说,实际上完 整的用户会话,包括整个Windows桌面及相关的进程都是存在的,通过月艮务 器端或客户端的裁剪,只显示了属于该应用程序窗口的部分。
技术实现思路
本专利技术所要解决的技术问题在于提供一种Linux终端无缝访问远程 Windows应用程序的方法及其装置,用于解决现有技术中无法实现对Windows 应用程序的真正的无缝访问,从而导致服务器端计算和存储资源的浪费,以致 无法提升服务容量的问题。为了实现上述目的,本专利技术提供了一种Linux终端无缝访问远程Windows 应用程序的方法,其特征在于,该方法包括步骤一,Windows服务器端截获Windows应用程序所需的显示调用,并 发送给Linux客户端;步骤二,所述Linux客户端将从所述Windows服务器端接收的所述显示 调用转换为本地绘图操作,调用所述本地绘图操作完成实际的绘制操作。所述的Linux终端无缝访问远程Windows应用程序的方法,其中,所述 步骤一中,进一步包括通过远程代理对所述Windows服务器端的用户帐号及应用程序权限信,息 进行维护的步骤。所述的Li皿x终端无缝访问远程Windows应用程序的方法,其中,所述 步骤一中,进一步包括-当所述Linux客户端通过本地代理要创建远程应用时,所述远程代理接收 由所述本地代理发送的用户帐号信息及应用程序信息,并对所述Windows应 用程序进行权限检査,当权限检査通过后,在所述服务器端启动相应的应用程 序的步骤。所述的Linux终端无缝访问远程Windows应用程序的方法,其中,戶大述 步骤一中,进一步包括当所述应用程序权限检査失败后,所述远程代理结束与所述本地代理之间 通信的步骤;或当所述Windows服务器端的用户帐号不具备启动相应的应用程序的权限 时,所述远程代理结束与所述本地代理之间通信的步骤。所述的Linux终端无缝访问远程Windows应用程序的方法,其中,所述 步骤一中,进一步包括当所述Windows应用程序启动后,所述远程代理将通过Hook Dll截获的 所述显示调用发送至所述本地代理的步骤。所述的Linux终端无缝访问远程Windows应用程序的方法,其中,所述步骤二中,进一步包括所述本地代理将所述显示调用转换成所述Linux客户端的本地绘图操作, 在所述Linux客户端绘制所述Windows应用程序的窗口,并将用户针对戶万述 远程应用的鼠标/键盘操作发送至所述远程代理,由所述远程代理将所述鼠标/ 键盘操作送至对应的应用程序进行处理的步骤。所述的Linux终端无缝访问远程Windows应用程序的方法,其中,戶万述 步骤二中,进一步包括当所述Linux客户端希望结束所述Windows应用程序时,通过所述本地 代理向所述远程代理发送消息,所述远程代理根据所述消息通知所述Windows 应用程序结束的步骤。为了实现上述目的,本专利技术还提供了一种Linux终端无缝访问远程 Windows应用程序的装置,其特征在于,该装置包括Windows服务器端,用于截获Windows应用程序所需的显示调用;Linux客户端,用于从所述Windows服务器端接收所述显示调用,将所述 显示调用转换为本地绘图操作,根据所述本地绘图操作完成实际的绘制操作。所述的Linux终端无缝访问远程Windows应用程序的装置,其中,所述 Windows服务器端包括HookDlI模块,用于捕获所述显示调用;远程代理模块,连接所述Hook Dll模块,用于从所述Hook Dll模块接收6所述显示调用,并将所述显示调用发送给所述Linux客户端;虚拟显示驱动模块,用于维护与所述本地绘图操作相应的数据结构; 输入设备驱动模块,连接所述远程代理模块,用于对所述Windows服务器端的输入设备驱动进行修改,以对从所述远程代理接收的鼠标/键盘事件进行处理。所述的Linux终端无缝访问远程Windows应用程序的装置,其中,所述 Linux客户端包括本地代理模块,用于将所述远程代理模块发送的所述显示调用转换为本地 绘制操作;显示设备驱动模块,用于在所述本地代理模块的调用下,根据所述本地绘 图操作完成实际的绘制操作;输入设备驱动模块,用于将用户的针对所述远程应用的鼠标/键盘操作送 至对应的应用程序处理。所述的Linux终端无缝访问远程Windows应用程序的装置,其中,所述 Linux客户端希望结束所述Windows应用程序时,由所述本地代理模块发送消 息给所述远程代理模块,所述远程代理根据所述消息通知所述Windows应用 程序结束。本专利技术的有益技术效果与现有RDP技术等相比,本专利技术提出的从Linux终端无缝访问Windows 应用程序的方法是一种基于GDI迁移的Linux终端无缝访问远程W本文档来自技高网
...

【技术保护点】
一种Linux终端无缝访问远程Windows应用程序的方法,其特征在于,该方法包括: 步骤一,Windows服务器端截获Windows应用程序所需的显示调用,并发送给Linux客户端; 步骤二,所述Linux客户端将从所述Win dows服务器端接收的所述显示调用转换为本地绘图操作,调用所述本地绘图操作完成实际的绘制操作。

【技术特征摘要】
CN 2008-8-15 200810118504.81、一种Linux终端无缝访问远程Windows应用程序的方法,其特征在于,该方法包括步骤一,Windows服务器端截获Windows应用程序所需的显示调用,并发送给Linux客户端;步骤二,所述Linux客户端将从所述Windows服务器端接收的所述显示调用转换为本地绘图操作,调用所述本地绘图操作完成实际的绘制操作。2、 根据权利要求1所述的Linux终端无缝访问远程Windows应用程序的 方法,其特征在于,所述步骤一中,进一步包括通过远程代理对所述Windows服务器端的用户帐号及应用程序权限信息 进行维护的步骤。3、 根据权利要求2所述的Linux终端无缝访问远程Windows应用程序的 方法,其特征在于,所述步骤一中,进一步包括当所述Linux客户端通过本地代理要创建远程应用时,所述远程代理接收 由所述本地代理发送的用户帐号信息及应用程序信息,并对所述Windows应 用程序进行权限检査,当权限检查通过后,在所述服务器端启动相应的应用程 序的步骤。4、 根据权利要求3所述的Linux终端无缝访问远程Windows应用程序的 方法,其特征在于,所述步骤一中,进一步包括当所述应用程序权限检查失败后,所述远程代理结束与所述本地代理之间 通信的步骤;或当所述Windows服务器端的用户帐号不具备启动相应的应用程序的权限 时,所述远程代理结束与所述本地代理之间通信的步骤。5、 根据权利要求3或4所述的Linux终端无缝访问远程Windows应用程 序的方法,其特征在于,所述步骤一中,进一步包括-当所述Windows应用程序启动后,所述远程代理将通过Hook Dll截获的 所述显示调用发送至所述本地代理的步骤。6、 根据权利要5所述的Linux终端无缝访问远程Windows应用程序的方 法,其特征在于,所述步骤二中,进一步包括所述本地代理将所述显示调用转换成所述Linux客户...

【专利技术属性】
技术研发人员:程旭张杨杨琦管雪涛
申请(专利权)人:北京北大众志微系统科技有限责任公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利