Does an RDP client library under Linux exist? [closed]
Asked Answered
D

8

10

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?

Dunderhead answered 1/7, 2009 at 21:34 Comment(0)
C
5

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

Carley answered 10/6, 2011 at 8:12 Comment(0)
S
5

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.

Sadiesadira answered 2/7, 2009 at 2:43 Comment(2)
xrdp is an RDP and X server. I doubt libxrdp contains anything directly usable for an RDP client. I'm sure the xrdp source would be helpful for writing a client library much as the rdesktop source would be.Dunderhead
xrdp does contain an rdp client module. To quote an xrdp page "Librdp, an RDP module for xrdp. Librdp provides a connection to RDP servers. It only supports RDP4 connections currently." This module was derived from rdesktop source, but is not as updated as the current rdesktop source. It is utterly devoid of documentation and does not even have an example program that uses it. xrpd itself doesn't seem to use it since it compiled without complaint after removing the rdp directory and commenting out 3 or 4 lines in the Makefile.Dunderhead
C
5

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

Carley answered 10/6, 2011 at 8:12 Comment(0)
A
1

You can look at these implementations:

Non portable implementations:

And the reference documents:

Ageratum answered 28/10, 2014 at 23:48 Comment(0)
S
0

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.

Skylight answered 22/8, 2009 at 20:50 Comment(0)
X
-1

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

Xylem answered 1/7, 2009 at 22:4 Comment(1)
Correct. Hence the term "hack". The rdesktop source is organized sanely enough (save for X possibly being too intertwined with everything) such that you could create a library from the source of the application. But that's a lot more effort than "apt-get install rdp-dev".Dunderhead
V
-1

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

See the -X option in help

Virgule answered 2/7, 2009 at 2:58 Comment(1)
It's not a library that facilitates programmatic communication with an RDP server.Dunderhead
S
-1

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

Seaborne answered 6/7, 2009 at 7:47 Comment(0)
S
-1

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

Stratocumulus answered 9/3, 2013 at 2:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.