在Linux下是否存在RDP客户端库?

10

在Linux中,是否有连接远程桌面协议(RDP)作为客户端的库?使用的语言次要于存在的问题。任何主流语言都可以(例如C ++,Perl,Java,Ruby,PHP,Python),甚至像OCaml或Scheme这样不太流行的语言也可以。

除了从rdesktop源代码中提取库之外,还��其他选项可用吗?

8个回答

5

FreeRDP 项目中提供了一组跨平台的开源 RDP 库,使用 C 语言编写,并在 Apache 许可证 2.0 下发布。请参阅 http://www.freerdp.com


5

在我的Mandriva软件管理工具中输入rdp,会显示libxrdp,这是xrdp依赖的库,但我不知道细节,所以可能不是你想要的。

该项目的网站是xrdp.sourceforge.net


xrdp是一个RDP和X服务器。我怀疑libxrdp中没有任何直接可用于RDP客户端的内容。我相信xrdp源代码会对编写客户端库很有帮助,就像rdesktop源代码一样。 - Bribles
1
xrdp包含一个rdp客户端模块。引用xrdp页面上的话:“Librdp是xrdp的RDP模块。Librdp提供与RDP服务器的连接。目前它仅支持RDP4连接。”该模块源自rdesktop源代码,但不如当前的rdesktop源代码更新。它完全没有文档,甚至没有使用它的示例程序。xrpd本身似乎没有使用它,因为在删除rdp目录并在Makefile中注释掉3或4行后编译时没有出现任何问题。 - Bribles

1
你可以参考以下实现:

不可移植的实现:

参考文献:


0

rdesktop是您最佳的选择。代码非常干净,我认为制作一个库不会太麻烦。

如果您更喜欢Java,另一个选择是ProperJavaRDP客户端http://properjavardp.sourceforge.net/。它几乎是rdesktop的直接移植。


-1

我已经成功在EC2上使用RHEL使xrdp工作:xrdp.org


-1

根据J-16 SDIZ的建议,您可以将rdesktop嵌入到自己的窗口中,然后以编程方式向该窗口发送X.org事件。类似的方法是在Windows机器上安装VNC服务器,并在Linux机器上运行VNC客户端。这样,您也可以以编程方式向VNC客户端发送X.org事件。

browsershots.org使用此方法通过Python以跨平台的方式以编程方式控制各种Web浏览器。如果要查看browsershots.org客户端源代码,请查看gui目录。


-1

抱歉,但是快速的strace和rdesktop的nm检查除了X、加密和压缩库之外没有发现其他内容。


1
正确。因此有了“黑客”的术语。rdesktop源代码组织得很合理(除了X可能与所有内容纠缠在一起),因此您可以从应用程序的源代码中创建库。但是,这比“apt-get install rdp-dev”需要更多的努力。 - Bribles

-1

rdesktop 允许嵌入到其他窗口中,它为什么不能满足您的需求呢?

请查看帮助中的 -X 选项。


这不是一个可以促进与RDP服务器进行编程通信的库。 - Bribles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接