Работа с RDP-подключениями в Linux (FreeRDP)

Оцените статью

Заходи, мил человек, посидим, выпьем, закусим, о делах наших скорбных покалякаем.

Честно говоря, в Linux с RDP все обстоит достаточно скверно и почему-то особо ситуация не меняется в лучшую сторону. Хотя какой ужас и кошмар творился раньше это даже и вспоминать не хочется.

Разбираемся с FreeRDP

Единственным адекватным RDP-клиентом на данный момент является FreeRDP и давайте познакомимся с ним, а знакомство по старой схеме начнем с его консольной реализации.

Первым делом установим необходимые пакеты:

# aptitude install freerdp3-x11 freerdp3-wayland

Работать мы будем с третьей версией клиента, она самая свежая и наиболее работоспособная. Самое простое, что мы можем сделать это просто подключиться к удаленному рабочему столу указав адрес, логин пользователя и домен (если у нас конечно Active Directory).

$ xfreerdp3 /v:192.168.5.100 /u:chernousov /d:biopro

Если вы получили ошибку.

[16:03:00:108] [6204:0000183d] [ERROR][com.winpr.sspi.Kerberos] - [kerberos_AcquireCredentialsHandleA]: krb5glue_get_init_creds (Cannot find KDC for realm "BIOPRO" [-1765328230])

Это значит у вас не сконфигурирован Kerberos и можете воспользоваться второй версией клиента или отмотать в середину статьи где я буду рассказывать как правильно все сконфигурировать для работы с Active Directory.

Для второй версии отличий не так уж и много и главное, что все точно будет работать.

# aptitude install freerdp2-x11 freerdp2-wayland

Подключимся и проверим.

$ xfreerdp /v:192.168.5.100 /u:chernousov /d:biopro

Собственно все работает и давайте пробежимся по возможным опциям которые нам жизнь облегчат.

Подключение к удаленному рабочему столу Windows из Linux

Пробрасываем локальный каталог с рабочей станции (/drive:tmp,/tmp/).

$ xfreerdp3 /v:192.168.5.100 /u:chernousov /d:biopro /drive:tmp,/tmp/

Пробрасываем принтер.

Получаем список принтеров:

$ lpstat -a
KyoceraM2040dn принимает запросы с момента Пт 04 апр 2025 15:28:37
KyoceraM2040dn_2 принимает запросы с момента Пт 04 апр 2025 15:28:31
OBuhKyoceraM2040dn принимает запросы с момента Пт 04 апр 2025 15:28:37
OKKyoceraM2040 принимает запросы с момента Пт 04 апр 2025 15:28:32

Проброс принтера (/a:printer,»KyoceraM2040dn»):

$ xfreerdp3 /v:192.168.5.100 /u:chernousov /d:biopro /drive:tmp,/tmp/ /a:printer,"KyoceraM2040dn"
Проброс Linux-принтера по RDP на удаленный рабочий стол

Аналогично можно перенаправить микрофон и кардридер и COM-устройство, но этим редко пользуются и там есть ряд небольших нюансов, что выливается в отдельную статью которая не всем интересна.

Так же из полезных опций можно отметить явное указание размеров окна (/w:800 /h:600) или запуск сразу в полноэкранном режиме (выход из полноэкранного режима ctrl+enter).

$ xfreerdp3 /v:192.168.5.100 /u:chernousov /d:biopro /drive:tmp,/tmp/ /a:printer,"KyoceraM2040dn" /f

Общий буфер обмена между локальной рабочей станцией и удаленным рабочим столом опцией +clipboard.

$ xfreerdp3 /v:192.168.5.100 /u:chernousov /d:biopro /w:1600 /h:1024 +clipboard

Опций очень много и все они есть в подсказке приложения.

$ xfreerdp --help

Так же обратите внимание, что мы можем использовать графическую утилиту для ввода пароля при помощи утилиты zenity.

# apt install zenity

В общем виде у меня получается вот такая конструкция.

$ xfreerdp3 /v:192.168.5.100 /u:chernousov /d:biopro /p:$(zenity --password --title="Enter FreeRDP password") /w:1600 /h:1024 +clipboard

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

Но лучше конечно для этих целей использовать графические оболочки.

Графические обертки для freerdp

Remmina

Очень удобная графическая оболочка для freerdp и не только.

# apt-get install remmina*
GUI-клиент для FreeRDP Remmina

Запуск удаленных приложений RemoteAPP

При помощи FreeRDP мы можем не только подключаться к удаленным рабочим столам, но и запускать удаленные приложения в бесшовном режиме.

В третьей версии FreeRDP Remote APP приложения работают на удивление неплохо. И достаточно просто указать дополнительный ключ который скажет запустить удаленное приложение с сервера в бесшовном режиме (например для запуска 1С добавим ключ /app:program:»||1cestart»).

/usr/bin/xfreerdp3 /v:192.168.5.5 /u:chernousov /d:biopro /p:$(zenity --password --title="Enter FreeRDP password") /cert:ignore +clipboard /app:program:"||1cestart"
Запуск 1С в Linux в режиме Remote APP

Похожие записи

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

GlusterFS — это масштабируемая, распределённая файловая система с открытым исходным кодом, которая объединяет хранилища нескольких серверов в единое пространство имён. Она идеально подходит для создания отказоустойчивых и высокопроизводительных хранилищ, особенно…

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Запихать Mysql в Kubernetes оказалось не очень хорошей идеей и я решил основательно пересмотреть инфраструктуру своего pet-проекта и за основу будет принят кластер из трех серверов. На каждом узле кластера…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Как проверить работу камеры в Ubuntu Linux: диагностика USB и встроенных веб-камер

Как проверить работу камеры в Ubuntu Linux: диагностика USB и встроенных веб-камер

Полное руководство по установке Docker, Docker Compose, kubectl, Helm и k9s в Linux

Полное руководство по установке Docker, Docker Compose, kubectl, Helm и k9s в Linux

Настройка маршрутизации через VipNet: пошаговое руководство для RedOS

Настройка маршрутизации через VipNet: пошаговое руководство для RedOS