RDP Client

RDP Client

Remote desktop client application that allows to access to remote desktop via RDP and VNC protocols.

RU | EN


Клиент удалённого доступа

Описание. Приложение-клиент позволяет получить доступ к удаленному рабочему столу по протоколам RDP и VNC и взаимодействовать с ними.

Функционал и компоненты примера. Приложение реализует следующие возможности:

  • Подключение к удаленному рабочему столу по протоколу RDP - подпроект RDP
  • Подключение к удаленному рабочему столу по протоколу VNC - подпроект VNC
  • Сохранение и последующее редактирование конфигураций подключений.
  • Взаимодействие с удаленным рабочим столом посредством физической мыши, виртуального курсора, панели зума, физической и системной клавиатуры.

Приложение использует сторонние библиотеки:

Статус сборки:

  1. example - pipeline status
  2. dev - pipeline status

Содержание

  1. Содержание
  2. Совместимость
  3. Особенности сборки
  4. Информация о ветках
  5. Установка и запуск
  6. Скриншоты
  7. Варианты использования
  8. Структура проекта
  9. Правила использования и участие в разработке

Совместимость

Проект совместим с актуальными версиями ОС Аврора.

Особенности сборки

Данный пример-приложение собирается с помощью Аврора SDK: Документация) Сборка проекта осуществляется с помощью Ninja. Чтобы избежать ошибок при сборке, необходимо выполнить следующие действия:

  1. Установить для Начальных параметров CMake значение -GNinja в Настройках сборки;
  2. Нажать на Re-configure with Initial Parameters, чтобы перенастроить проект.

Информация о ветках

Ветки

Установка и запуск

Проект устанавливается и запускается обычным образом с помощью Аврора SDK: Документация.

Снимки экранов

screenshots

Варианты использования

Приложение протестировано на работоспособность следующих возможностей:

  • Приложение позволяет подключаться (и отключаться) к удаленному рабочему столу по протоколам RDP и VNC.
  • Приложение позволяет задавать имя хоста, порт, имя пользователя и пароль.
  • Приложение позволяет установить разрешение экрана удаленного рабочего стола перед подключением.
  • Приложение позволяет сохранять несколько конфигураций для подключения (включая имя хоста, порт, имя пользователя, разрешение экрана и тип подключения) и использовать их повторно.
  • После успешного подключения программа отображает экран удаленного рабочего стола.
  • Приложение позволяет взаимодействовать с экраном удаленного рабочего стола с помощью курсора мыши и сенсорных жестов.
  • Приложение позволяет передавать на удаленный рабочий стол нажатия клавиш клавиатуры.
  • Приложение позволяет увеличивать и уменьшать изображение удаленного экрана с помощью движение двумя пальцами в разные стороны.
  • Приложение позволяет перетаскивать изображение удаленного экрана с помощью жеста касания.

Настройки подключения

На стартовой странице приложения необходимо задать следующие параметры для выполнения соединения:

  • Тип подключения - RDP или VNC.
  • Разрешение экрана (можно игнорировать, если сервер удаленного рабочего стола не поддерживает установку разрешения):
    • Использовать разрешение экрана телефона - разрешение устройства будет передано на удаленный рабочий стол.
    • Использовать удаленное разрешение - на устройстве будет использоваться разрешение удаленного рабочего стола.
    • Указать разрешение вручную - пользователь задает разрешение для использования на устройстве и удаленном экране.
  • Адрес - IP-адрес сервера удаленного рабочего стола.
  • Порт - порт сервера удаленного рабочего стола.
  • Имя пользователя - имя пользователя удаленной машины.
  • Пароль - пароль пользователя удаленной машины.

VNC

VNC-соединение тестируется со следующими VNC-серверами: TightVNC, TigerVNC, TurboVNC и UltraVNC.

Особенности раскладки клавиатуры

Серверы TightVNC, TigerVNC и TurboVNC корректно работают с раскладками клавиатур. Все раскладки физической клавиатуры клиента корректно передаются и отображаются на серверах при условии, что раскладки клиента и сервера совпадают при подключении. Переключение раскладки на сервере также выполняется корректно.

Однако при соединении с сервером UltraVNC раскладки клавиатуры имеют особенности.

  • Из всех раскладок клавиатуры на клиенте на сервер передаются только латинские символы. При переключении на кириллическую раскладку ввод символов не происходит.

  • Переключение раскладки на сервере работает корректно, если на клиенте и на сервере включена латинская раскладка. В этом случае можно переключить раскладку на сервере, например, переключить с латиницы на кириллицу, и ввод будет выполняться соответствующей серверной раскладкой.

Такое поведение характерно не только для данного приложения, но и для других VNC-клиентов: TightVNC, TightVNC, TurboVNC и самого клиента UltraVNC.

Структура проекта

Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.

  • Каталог app описывает подпроект, содержащий исходный код приложения:
  • Файл CMakeLists.txt описывает структуру подпроекта приложения для системы сборки CMake.
  • Каталог icons содержит иконки приложения для поддерживаемых разрешений экрана.
  • Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
    • Каталог cover содержит реализации обложек приложения.
    • Каталог icons содержит дополнительные иконки интерфейса пользователя.
    • Каталог pages содержит страницы приложения.
    • Каталог components содержит пользовательские компоненты пользовательского интерфейса.
    • Файл RemoteDesktopClient.qml предоставляет реализацию окна приложения.
    • Каталог src содержит исходный код на C++.
    • Файл main.cpp является точкой входа в приложение.
  • Каталог translations содержит файлы перевода интерфейса пользователя.
  • Файл ru.auroraos.RemoteDesktopClient.desktop определяет отображение и параметры запуска приложения.
  • Каталог rdp описывает подпроект, содержащий исходный код библиотеки FreeRDP.
    • Каталог FreeRDP содержит исходный код библиотеки FreeRDP 2.10.0.
    • Файл CMakeLists.txt описывает структуру подпроекта rdp для системы сборки CMake.
  • Каталог vnc описывает подпроект, содержащий исходный код библиотеки VNC.
    • Файл libvncserver содержит исходный код библиотеки LibVNCServer-0.9.14.
    • Файл CMakeLists.txt описывает структуру подпроекта vnc для системы сборки CMake.
  • Файл CMakeLists.txt описывает структуру приложения для системы сборки CMake.
  • Каталог rpm содержит настройки сборки rpm-пакета.

Правила использования и участие в разработке

Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.

Лицензионное соглашение с участником Соглашение участника регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».

Информация об участниках указана в файле AUTHORS.

Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.