Does an RDP client library under Linux exist?

主宰稳场 提交于 2019-11-29 02:53:28

问题


Are there any libraries for connecting as a client via Remote Desktop Protocol (RDP) in Linux? The language used is secondary to the issue of existence. Any mainstream language would do (e.g. C++, Perl, Java, Ruby, PHP, Python), and even less popular ones like OCaml or Scheme.

Is there any option available other than taking the rdesktop source and hacking a library out of that?


回答1:


There is a set of cross-platform open source RDP libraries available in FreeRDP project. They are written in C and under Apache Licence 2.0. See http://www.freerdp.com




回答2:


Typing rdp into my Mandriva Software Managment tool revealed libxrdp which is a library that xrdp depends on but I don't know the details so it may not be what you want.

The project website is xrdp.sourceforge.net.




回答3:


rdesktop is going to be your best option. The code is quite clean and I don't think making a library would be a huge deal.

Another option if you prefer Java is the ProperJavaRDP Client http://properjavardp.sourceforge.net/ . It's nearly a strait port of rdesktop.




回答4:


You can look at these implementations:

  • FreeRDP (Apache License) - mostly C.
  • FreeRDP C# bindings
  • FreeRDP-WebConnect for HTML5 stuff
  • rdesktop (GPLv2) - mostly C.
  • rdpy (GPLv3) - python but bitmap stuff is written in C (borrowing code from rdesktop)
  • properJavaRDP (GPL) - java

Non portable implementations:

  • Terminals (MS-CL) - visual studio project.

And the reference documents:

  • http://msdn.microsoft.com/en-us/library/cc240445.aspx
  • http://msdn.microsoft.com/en-us/library/cc240452.aspx (message flows / connection sequence)



回答5:


Sorry, but a quick strace and nm of rdesktop reveal nothing beyond X, crypto, and compression libs.




回答6:


rdesktop does allow embedding into other windows, how does it not serve your purpose?

See the -X option in help




回答7:


You could embed rdesktop in a window of your own per J-16 SDIZ's suggestion and then send X.org events to that window programmatically. A similar route would be to install a VNC server on the Windows machine and run a VNC client on the Linux machine. That way you can also programmatically send X.org events to the VNC client.

This is what browsershots.org uses to programmatically control various web browsers in a cross-platform way through Python. Have a look at the gui directory if the browsershots.org client source code




回答8:


I've gotten xrdp to work with RHEL on EC2: xrdp.org



来源:https://stackoverflow.com/questions/1071508/does-an-rdp-client-library-under-linux-exist

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!