2009-07-01 11 views
10

¿Hay alguna biblioteca para conectarse como cliente a través de Remote Desktop Protocol (RDP) en Linux? El lenguaje utilizado es secundario al problema de la existencia. Cualquier lenguaje convencional funcionaría (por ejemplo, C++, Perl, Java, Ruby, PHP, Python) e incluso menos populares como OCaml o Scheme.¿Existe una biblioteca de cliente RDP en Linux?

¿Hay alguna opción disponible además de tomar la fuente rdesktop y hackear una biblioteca de eso?

Respuesta

5

Hay un conjunto de bibliotecas RDP de código abierto multiplataforma disponibles en el proyecto FreeRDP. Están escritos en C y bajo Apache License 2.0. Veo http://www.freerdp.com

0

Lo sentimos, pero una versión rápida y nm de rdesktop no revela nada más que X, crypto y libs de compresión.

+1

correcta. De ahí el término "hackear". La fuente de rdesktop está organizada de forma razonable (salvo que X posiblemente esté demasiado entrelazada con todo), por lo que podría crear una biblioteca desde el origen de la aplicación. Pero eso es mucho más esfuerzo que "apt-get install rdp-dev". – Bribles

5

Escribir rdp en mi herramienta de administración de software de Mandriva reveló libxrdp, que es una biblioteca de la que depende xrdp pero no conozco los detalles, por lo que puede que no sea lo que desea.

El sitio web del proyecto es xrdp.sourceforge.net.

+0

xrdp es un servidor RDP y X. Dudo que libxrdp contenga algo directamente utilizable para un cliente RDP. Estoy seguro de que la fuente de xrdp sería útil para escribir una biblioteca de cliente tanto como la fuente de rdesktop. – Bribles

+1

xrdp contiene un módulo de cliente rdp. Para citar una página xrdp "Librdp, un módulo RDP para xrdp. Librdp proporciona una conexión a los servidores RDP. Actualmente solo admite conexiones RDP4". Este módulo se obtuvo de la fuente rdesktop, pero no está tan actualizado como la fuente rdesktop actual. Está completamente desprovisto de documentación y ni siquiera tiene un programa de ejemplo que lo use. xrpd en sí no parece usarlo ya que se compiló sin quejas después de eliminar el directorio rdp y comentar 3 o 4 líneas en el Makefile. – Bribles

0

rdesktop permite la incrustación en otras ventanas, ¿cómo no sirve para su propósito?

ver la opción de -X en ayuda

+0

No es una biblioteca que facilita la comunicación programática con un servidor RDP. – Bribles

0

Se puede incrustar rdesktop en una ventana de su propio por la sugerencia de J-16 SDIZ y luego enviar eventos X.org a la ventana de programación. Una ruta similar sería instalar un servidor VNC en la máquina con Windows y ejecutar un cliente VNC en la máquina Linux. De esta forma, también puede enviar eventos de X.org mediante programación al cliente de VNC.

Esto es lo que usa browsershots.org para controlar mediante programación diversos navegadores web de forma multiplataforma a través de Python. Eche un vistazo al directorio gui si el browsershots.org client source code

1

rdesktop va a ser su mejor opción. El código es bastante limpio y no creo que hacer una biblioteca sea un gran negocio.

Otra opción si prefiere Java es el Cliente ProperJavaRDP http://properjavardp.sourceforge.net/. Es casi un puerto estrecho de rdesktop.

1

Usted puede mirar en estas implementaciones:

implementaciones no portátiles:

Y los documentos de referencia:

Cuestiones relacionadas