2009-07-01 3 views
10

Существуют ли библиотеки для подключения в качестве клиента через протокол удаленного рабочего стола (RDP) в Linux? Используемый язык вторичен по отношению к проблеме существования. Любой основной язык будет работать (например, C++, Perl, Java, Ruby, PHP, Python) и даже менее популярные, такие как OCaml или Scheme.Существует ли библиотека клиентов RDP под Linux?

Есть ли какой-либо доступный вариант, кроме использования источника rdesktop и взлома библиотеки из этого?

ответ

5

В проекте FreeRDP имеется набор межплатформенных библиотек RDP с открытым исходным кодом. Они написаны на C и под Apache License 2.0. См http://www.freerdp.com

0

Извините, но быстрый strace и nm of rdesktop не обнаруживают ничего за пределами X, криптографических и компрессионных библиотек.

+1

правильно. Отсюда и термин «взломать». Источник rdesktop организован достаточно хорошо (за исключением того, что X, возможно, слишком переплетается со всем), так что вы можете создать библиотеку из источника приложения. Но это намного больше, чем «apt-get install rdp-dev». – Bribles

5

Ввод rdp в инструмент Mangiva Software Managment показал libxrdp, который является библиотекой, на которую зависит xrdp, но я не знаю деталей, поэтому может быть не так, как вы хотите.

Веб-сайт проекта: xrdp.sourceforge.net.

+0

xrdp - это RDP и X-сервер. Я сомневаюсь, что libxrdp содержит все, что можно использовать непосредственно для клиента RDP. Я уверен, что источник xrdp был бы полезен для написания клиентской библиотеки так же, как и для источника rdesktop. – Bribles

+1

xrdp содержит клиентский модуль rdp. Чтобы процитировать страницу xrdp «Librdp, RDP-модуль для xrdp. Librdp обеспечивает подключение к серверам RDP. Он поддерживает только соединения RDP4 в настоящее время». Этот модуль был получен из источника rdesktop, но не обновляется как текущий источник rdesktop. Он полностью лишен документации и даже не имеет примерной программы, которая его использует. Сам xrpd, похоже, не использует его, поскольку он скомпилирован без жалобы после удаления каталога rdp и комментирования 3 или 4 строк в Makefile. – Bribles

0

rdesktop действительно позволяет встраивать в другие окна, как это не может служить вашей цели?

Смотрите опцию -X в помощи

+0

Это не библиотека, которая облегчает программную связь с RDP-сервером. – Bribles

0

Вы можете вставлять Rdesktop в окно самостоятельно на предложение J-16 SDIZ, а затем отправить события X.org к окну программно. Аналогичным маршрутом будет установка VNC-сервера на машине Windows и запуск клиента VNC на машине Linux. Таким образом, вы также можете программно отправлять события X.org клиенту VNC.

Это то, что браузерыhots.org использует для программного управления различными веб-браузерами кросс-платформенным способом через Python. Посмотрите каталог gui, если browsershots.org client source code

1

rdesktop будет вашим лучшим вариантом. Код довольно чистый, и я не думаю, что создание библиотеки было бы огромным делом.

Другой вариант, если вы предпочитаете Java, - это правильный JavaRDP-клиент http://properjavardp.sourceforge.net/. Это почти проливный порт rdesktop.

1

Вы можете посмотреть на этих реализаций:

Non портативные реализации:

И ссылочные документы:

Смежные вопросы