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


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

除了使用rdesktop源并从中攻击库之外,还有其他选择吗?


13017
2017-07-01 21:34


起源



答案:


FreeRDP项目中有一组跨平台的开源RDP库。它们是用C语言和Apache License 2.0编写的。看到 http://www.freerdp.com


6
2018-06-10 08:12





在我的Mandriva Software Managment工具中输入rdp显示了libxrdp,它是xrdp所依赖的库,但我不知道细节,所以它可能不是你想要的。

项目网站是 xrdp.sourceforge.net


6
2017-07-02 02:43



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


答案:


FreeRDP项目中有一组跨平台的开源RDP库。它们是用C语言和Apache License 2.0编写的。看到 http://www.freerdp.com


6
2018-06-10 08:12





在我的Mandriva Software Managment工具中输入rdp显示了libxrdp,它是xrdp所依赖的库,但我不知道细节,所以它可能不是你想要的。

项目网站是 xrdp.sourceforge.net


6
2017-07-02 02:43



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


rdesktop将是您最好的选择。代码非常干净,我不认为创建一个库会是一个大问题。

如果您更喜欢Java,另一个选择是ProperJavaRDP客户端 http://properjavardp.sourceforge.net/ 。它几乎是rdesktop的一个海峡港口。


1
2017-08-22 20:50





您可以查看以下实现:

非便携式实现:

和参考文件:


1
2017-10-28 23:48





对不起,但快速的strace和nm的rdesktop除了X,加密和压缩库之外什么都没有显示出来。


0
2017-07-01 22:04



正确。因此,术语“黑客”。 rdesktop源的组织足够清晰(除了X可能与所有内容交织在一起),这样您就可以从应用程序的源创建一个库。但这比“apt-get install rdp-dev”要多得多。 - Bribles


rdesktop 允许嵌入其他窗口,它如何不符合您的目的?

-X 帮助中的选项


0
2017-07-02 02:58



它不是一个便于与RDP服务器进行编程通信的库。 - Bribles


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

这就是browsershots.org用于通过Python以跨平台方式以编程方式控制各种Web浏览器的方法。看看吧 gui 目录如果 browsershots.org客户端源代码


0
2017-07-06 07:47