Ответ 1
В проекте FreeRDP имеется набор межплатформенных библиотек RDP с открытым исходным кодом. Они написаны на C и под Apache License 2.0. См. http://www.freerdp.com
Существуют ли библиотеки для подключения в качестве клиента через протокол удаленного рабочего стола (RDP) в Linux? Используемый язык вторичен по отношению к проблеме существования. Любой основной язык будет работать (например, С++, Perl, Java, Ruby, PHP, Python) и даже менее популярные, такие как OCaml или Scheme.
Есть ли какая-либо опция, кроме использования источника rdesktop и взлома библиотеки из этого?
В проекте FreeRDP имеется набор межплатформенных библиотек RDP с открытым исходным кодом. Они написаны на C и под Apache License 2.0. См. http://www.freerdp.com
Ввод rdp в инструмент Mangiva Software Managment показал libxrdp, который является библиотекой, на которую зависит xrdp, но я не знаю деталей, поэтому может быть не так, как вы хотите.
Веб-сайт проекта xrdp.sourceforge.net.
rdesktop будет вашим лучшим вариантом. Код довольно чистый, и я не думаю, что создание библиотеки было бы огромной сделкой.
Другим вариантом, если вы предпочитаете Java, является клиент JobJavaRDP http://properjavardp.sourceforge.net/. Это почти проливный порт rdesktop.
Вы можете посмотреть эти реализации:
FreeRDP
(Apache License) - в основном C
.FreeRDP
C#
привязкиFreeRDP-WebConnect
для материала HTML5rdesktop
(GPLv2) - в основном C
.rdpy
(GPLv3) - python
, но битмап написан в C
(код заимствования из rdesktop
)properJavaRDP
(GPL) - java
Не переносимые реализации:
И справочные документы:
Извините, но быстрый strace и nm of rdesktop ничего не показывают за пределами X, криптографических и компрессионных библиотек.
rdesktop
позволяет встраивать в другие окна, как это не может служить вашей цели?
См. параметр -X
в справке
Вы можете встроить rdesktop в свое собственное окно на предложение JIZ 16 SDIZ, а затем программно отправить события X.org в это окно. Аналогичным маршрутом будет установка VNC-сервера на машине Windows и запуск клиента VNC на машине Linux. Таким образом, вы также можете программно отправлять события X.org клиенту VNC.
Это то, что браузерыhots.org использует для программного управления различными веб-браузерами кросс-платформенным способом через Python. Посмотрите каталог gui
, если исходный код клиента browserershots.org
Я получил xrdp для работы с RHEL на EC2: xrdp.org