在Linux中,是否有连接远程桌面协议(RDP)作为客户端的库?使用的语言次要于存在的问题。任何主流语言都可以(例如C ++,Perl,Java,Ruby,PHP,Python),甚至像OCaml或Scheme这样不太流行的语言也可以。
除了从rdesktop源代码中提取库之外,还��其他选项可用吗?
在Linux中,是否有连接远程桌面协议(RDP)作为客户端的库?使用的语言次要于存在的问题。任何主流语言都可以(例如C ++,Perl,Java,Ruby,PHP,Python),甚至像OCaml或Scheme这样不太流行的语言也可以。
除了从rdesktop源代码中提取库之外,还��其他选项可用吗?
FreeRDP 项目中提供了一组跨平台的开源 RDP 库,使用 C 语言编写,并在 Apache 许可证 2.0 下发布。请参阅 http://www.freerdp.com
在我的Mandriva软件管理工具中输入rdp,会显示libxrdp,这是xrdp依赖的库,但我不知道细节,所以可能不是你想要的。
该项目的网站是xrdp.sourceforge.net。
FreeRDP
(Apache许可证) - 主要使用C
语言。FreeRDP
C#
绑定FreeRDP-WebConnect
用于HTML5相关的内容。rdesktop
(GPLv2) - 主要使用C
语言。rdpy
(GPLv3) - 使用Python
编写,但位图相关的内容是用C
编写(从rdesktop
借鉴了部分代码)。properJavaRDP
(GPL) - 使用Java
编写。不可移植的实现:
参考文献:
rdesktop是您最佳的选择。代码非常干净,我认为制作一个库不会太麻烦。
如果您更喜欢Java,另一个选择是ProperJavaRDP客户端http://properjavardp.sourceforge.net/。它几乎是rdesktop的直接移植。
根据J-16 SDIZ的建议,您可以将rdesktop嵌入到自己的窗口中,然后以编程方式向该窗口发送X.org事件。类似的方法是在Windows机器上安装VNC服务器,并在Linux机器上运行VNC客户端。这样,您也可以以编程方式向VNC客户端发送X.org事件。
browsershots.org使用此方法通过Python以跨平台的方式以编程方式控制各种Web浏览器。如果要查看browsershots.org客户端源代码,请查看gui
目录。
抱歉,但是快速的strace和rdesktop的nm检查除了X、加密和压缩库之外没有发现其他内容。
rdesktop
允许嵌入到其他窗口中,它为什么不能满足您的需求呢?
请查看帮助中的 -X
选项。