2009-07-01 6 views
10

Gibt es Bibliotheken für die Verbindung als Client über das Remote Desktop Protocol (RDP) in Linux? Die verwendete Sprache ist sekundär zum Thema Existenz. Jede gängige Sprache würde dies tun (z. B. C++, Perl, Java, Ruby, PHP, Python) und noch weniger bekannte Sprachen wie OCaml oder Scheme.Existiert eine RDP-Client-Bibliothek unter Linux?

Gibt es eine andere Möglichkeit, als die rdesktop-Quelle zu nehmen und eine Bibliothek daraus zu hacken?

Antwort

5

Es gibt eine Reihe von plattformübergreifenden Open-Source-RDP-Bibliotheken, die im FreeRDP-Projekt verfügbar sind. Sie sind in C und unter Apache License 2.0 geschrieben. Siehe http://www.freerdp.com

0

Entschuldigung, aber eine schnelle strace und nm von rdesktop offenbaren nichts außer X, Crypto und Compression Libs.

+1

Richtig. Daher der Begriff "Hack". Die Rdesktop-Quelle ist vernünftig organisiert (abgesehen davon, dass X möglicherweise zu sehr mit allem verwoben ist), so dass Sie eine Bibliothek aus der Quelle der Anwendung erstellen können. Aber das ist viel mehr Aufwand als "apt-get install rdp-dev". – Bribles

5

Ich habe rdp in mein Mandriva Software Managment Tool eingegeben. Libxrdp ist eine Bibliothek, von der xrdp abhängt, aber ich kenne die Details nicht, also ist es vielleicht nicht das was du willst.

Die Projektwebsite lautet xrdp.sourceforge.net.

+0

xrdp ist ein RDP- und X-Server. Ich bezweifle, dass libxrdp etwas enthält, das für einen RDP-Client direkt verwendbar ist. Ich bin mir sicher, dass die xrdp-Quelle hilfreich wäre, um eine Client-Bibliothek zu schreiben, ähnlich wie die rdesktop-Quelle. – Bribles

+1

xrdp enthält ein RDP-Clientmodul. Zum Angeben einer xrdp-Seite "Librdp, ein RDP-Modul für xrdp. Librdp stellt eine Verbindung zu RDP-Servern her. Es unterstützt derzeit nur RDP4-Verbindungen." Dieses Modul wurde von der rdesktop-Quelle abgeleitet, ist aber nicht so aktualisiert wie die aktuelle rdesktop-Quelle. Es ist völlig frei von Dokumentation und hat nicht einmal ein Beispielprogramm, das es verwendet. xrpd selbst scheint es nicht zu benutzen, da es kompiliert wurde, nachdem das rdp-Verzeichnis entfernt wurde und 3 oder 4 Zeilen im Makefile auskommentiert wurden. – Bribles

0

rdesktop lässt sich in andere Fenster einbetten, wie dient es nicht Ihrem Zweck?

Siehe -X Option Hilfe

+0

Es ist keine Bibliothek, die die programmatische Kommunikation mit einem RDP-Server ermöglicht. – Bribles

0

Sie rdesktop in einem Fenster der eigenen pro J-16 SDIZ Vorschlag einbetten könnte und dann X.org Ereignisse programmatisch zu diesem Fenster senden. Eine ähnliche Route wäre die Installation eines VNC-Servers auf der Windows-Maschine und die Ausführung eines VNC-Clients auf der Linux-Maschine. Auf diese Weise können Sie X.org-Ereignisse auch programmgesteuert an den VNC-Client senden.

Dies ist, was browsershots.org verwendet, um programmgesteuert verschiedene Webbrowser auf eine plattformübergreifende Weise durch Python zu steuern. Werfen Sie einen Blick auf das gui Verzeichnis, wenn die browsershots.org client source code

1

rdesktop Ihre beste Option sein wird. Der Code ist ziemlich sauber und ich denke nicht, dass es eine große Sache wäre, eine Bibliothek zu erstellen. Eine andere Option, wenn Sie Java bevorzugen, ist der ProperJavaRDP Client http://properjavardp.sourceforge.net/. Es ist fast ein enger Hafen von Rdesktop.

0

Ich habe xrdp bekommen mit RHEL auf EC2 zu arbeiten: xrdp.org

1

Sie bei diesen Implementierungen aussehen:

Nicht portable Implementierungen:

Und die Referenzdokumente: