Перейти к содержимому

Freerdp как запустить

  • автор:

Полнофункциональный RDP клиент — FreeRDP

Не секрет, что в современном мире без продуктов Microsoft практически не обойтись. Однако во многих случаях получается так, что гораздо эффективней использовать на рабочих компьютерах системы на базе GNU/Linux, а не Windows. Это значительно упрощает администрирование и сокращает расходы, предоставляя при этом пользователям гораздо больше легкодоступного функционала. Но что делать с теми приложениями, которые работают только под Windows и которым нет подходящего аналога в мире Linux? Поскольку обычно таких приложений единицы (иначе просто нету смысла ставить Linux на рабочий компьютер), то разумным выбором может стать использование терминальных серверов, работающих под серверными ОС от Microsoft. Кроме того, Linux лучше всего подходит для любых тонких клиентов, поскольку адекватных версий Windows для них просто не существует.

В любом случае необходимо уметь подключаться к терминальным серверам Windows. Для этого в MS был разработан свой протокол удалённого рабочего стола — RDP. Однако до недавнего времени для Linux существовал единственный открытый клиент для работы с этим протоколом — rdesktop. К сожалению, его развитие давно остановилось, и он испытывает огромные трудности при взаимодействии с современными версиями Windows.

Но недавно тихо и незаметно проект rdesktop был форкнут, в результате чего на свет появился новый открытый RDP клиент — FreeRDP. Первый же релиз этой программы разом исправил большинство известных проблем rdesktop, и проект продолжает активно развиваться. Почему-то появление столь полезного приложение обошли вниманием, поэтому я и решил опубликовать этот пост, чтобы хоть как-то исправить эту ситуацию и рассказать всем о существовании нормального RDP клиента для Linux. Под катом — описание возможностей FreeRDP и немного про отличную графическую оболочку Remmina для него.

FreeRDP

Официальный сайт проекта — www.freerdp.com

  • Произведён значительный рефакторинг кода. Пользовательский интерфейс полностью переписан и отделён от основной библиотеки, реализована система плагинов.
  • Код максимально приведён в соответствие со спецификацией RDP от Microsoft и подробно комментирован.
  • Переписана работа с клавиатурой — больше никаких проблем с раскладками.
  • Переписана работа с принтерами, звуком и другими пробрасываемыми устройствами и сервисами.
  • Исправлены проблемы с указателем и лицензиями при подключении к серверу терминалов Windows 2008.
  • Реализовано кеширование графики (bitmap caching), что позволяет значительно повысить производительность.
  • В данный момент не реализована поддержка проброса COM портов и поддержка смарт-карт.
  • Убрана поддержка режима SeamlessRDP в пользу реализации RemoteApp, которой правда тоже пока что нет.
Remmina

Кроме того, один из самых удобных графических менеджеров подключений к удалённым рабочим столам Remmina с версии 0.8 перешёл на использование FreeRDP в качестве RDP клиента.

В версии 0.8 также реализована поддержка .rdp файлов Windows, все протоколы теперь являются отдельными плагинами, добавлена поддержка IPv6 и произведено много мелких улучшений и исправлений ошибок.

  • Официальный сайт Remmina
  • Официальный сайт FreeRDP
  • https://launchpad.net/~llyzs/+archive/ppa

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

RDP в Linux: запуск сервера и подключение к Windows

Оглавление: Всё о RDP: от настройки до взлома

Теперь рассмотрим, как из Linux подключиться к удалённому столу Windows.

Как подключиться к удалённому столу по RDP в Linux

Клиенты RDP существуют для многих платформ, даже для мобильных телефонов, конечно, имеются клиенты RDP и для Linux

Мы рассмотрим 2 клиента RDP под Linux

  • freerdp — бесплатная реализация протокола удалённого рабочего стола (Remote Desktop Protocol (RDP))
  • rdesktop — клиент с открытым исходным кодом для служб Windows удалённого рабочего стола

Также имеется клиент VNC и RDP с графическим пользовательским интерфейсом — Remmina. У программы много настроек, в целом она дружественная пользователю за исключением одного недостатка — она не заработала. Тем не менее она присутствует в стандартных репозиториях большинства дистрибутивов, поэтому при желании вы без труда сможете установить и попробовать её.

Как пользоваться freerdp

Для установки freerdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

sudo apt install freerdp2-x11 freerdp2-shadow-x11

Если пакеты freerdp2-x11 и freerdp2-shadow-x11 не найдены, то поищите пакет с именем freerdp.

Для установки freerdp в Arch Linux и производные выполните команду:

sudo pacman -S freerdp

Как подключиться командой freerdp

Для подключения к удалённому рабочему столу с помощью xfreerdp, запустите команду вида:

xfreerdp /f /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ /p:ПАРОЛЬ /v:ХОСТ[:ПОРТ]
  • /f — опция означает открыть удалённый стол в полноэкранном режиме
  • /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ — имя учётной записи на компьютере, к которому подключаемся
  • /p:ПАРОЛЬ — пароль указанной учётной записи
  • /v:ХОСТ[:ПОРТ] — IP адрес или имя компьютера, к удалённому столу которого выполняется подключение. ПОРТ указывать необязательно

Например, я хочу открыть удалённый стол компьютера с IP адресом 192.168.0.101, на котором имеется пользователь Tester с паролем 1234, причём я хочу открыть удалённый рабочий стол в полноэкранном режиме, тогда команда следующая:

xfreerdp /f /u:Tester /p:1234 /v:192.168.0.101

Для переключения между полноэкранным режимом и оконным, используется сочетание клавиш Ctrl+Alt+Enter.

При первом подключении появляется следующее сообщение о проблеме с сертификатом:

[11:02:36:086] [26320:26321] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - @ WARNING: CERTIFICATE NAME MISMATCH! @ [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - The hostname used for this connection (192.168.0.101:3389) [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - does not match the name given in the certificate: [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - Common Name (CN): [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - HackWare-MiAl [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - A valid certificate for the wrong name should NOT be trusted! Certificate details: Subject: CN = HackWare-MiAl Issuer: CN = HackWare-MiAl Thumbprint: 6a:4c:be:35:23:5f:46:b5:bd:37:15:5e:f7:21:ec:59:aa:c1:1c:3e The above X.509 certificate could not be verified, possibly because you do not have the CA certificate in your certificate store, or the certificate has expired. Please look at the OpenSSL documentation on how to add a private CA to the store. Do you trust the above certificate? (Y/T/N)

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

В полноэкранном режиме вы можете отключиться от удалённого рабочего стола двумя способами:

  • нажать крестик на верхней панели
  • меню «Пуск» → Выключение → Отключиться

Для запуска в оконном режиме не используйте опцию /f:

xfreerdp /u:Tester /p:1234 /v:192.168.0.101

Опции xfreerdp

У программы xfreerdp множество опций, далее выбраны самые интересные из них:

/v:[:ПОРТ] Имя хоста сервера с RDP /u. Имя пользователя /p: Пароль /f Полноэкранный режим (++ переключает полноэкранный режим) /port: Порт сервера /size. Размер экрана /w: Ширина /h: Высота /monitor-list Вывести список обнаруженных мониторов /monitors:[,[. ]] Выбрать мониторы для использования -grab-keyboard Отключить захват клавиатуры -mouse-motion Отключить отправку движений мыши /log-level. Установить уровень журналирования по умолчанию, подробности смотрите в wLog(7) +home-drive Сделать домашнюю папку пользователя совместной с удалённым столом /drive:, Подключить директорию как шару с именем +drives Включить перенаправление всех точек монтирования как совместных папок /ipv6 Предпочитать IPv6 AAAA запись, а не IPv4 A запись /t: Заголовок окна /kbd:0x или Раскладка клавиатуры /kbd-fn-key: Значение функциональной клавиши /kbd-list Вывести список раскладок клавиатуры /kbd-subtype: Подтип клавиатуры /kbd-type: Тип клавиатуры

Как в freerdp создать общие папки

С удалённым рабочим столом, подключённым по RDP, можно иметь совместные папки. Рассмотрим несколько примеров.

Чтобы подключить все точки монтирования в текущей системе как совместные папки на удалённом рабочем столе используйте опцию +drives, например:

xfreerdp /u:Tester /p:1234 /v:192.168.0.101 +drives

На скриншоте показан удалённый стол Windows, в котором доступны папки Linux системы, из которой сделано подключение по RDP:

Чтобы подключить только домашнюю папку текущего пользователя Linux в качестве сетевой папки к компьютеру по RDP укажите опцию +home-drive:

xfreerdp /u:Tester /p:1234 /v:192.168.0.101 +home-drive

В этом случае домашняя папка смонтирована в систему, подключённую по протоколу удалённый рабочий стол:

С опцией /drive:ИМЯ,/ПУТЬ/В/LINUX можно подключить любую папку с любым именем. В качестве /ПУТЬ/В/LINUX должен быть указан путь в текущей системе, а ИМЯ это то имя, которое будет иметь шара в удалённой системе. Например, чтобы подключить корневую папку текущей системы (/) к удалённой с именем root:

xfreerdp /u:Tester /p:1234 /v:192.168.0.101 /drive:root,/

Как вывести удалённый рабочий стол на другой монитор

Если у вас несколько мониторов, то вы можете выбрать, какой из них использовать для удалённой системы. Чтобы вывести список мониторов запустите команду:

xfreerdp monitor-list

Выбранный идентификатор монитора (или нескольких мониторов) укажите с помощью опции /monitors:[, [,…]].

Как установить размер окна удалённого рабочего стола

В следующем примере выполняется подключение к хосту rdp.contoso.com с именем USER и размером 50 процентов от высоты.

xfreerdp /u:USER /size:50%h /v:rdp.contoso.com

Если вместо высоты (h) установлена ширина (w), примерно как /size:50%w, то будет использоваться 50 процентов ширины.

Как пользоваться rdesktop

Для установки rdesktop в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

sudo apt install rdesktop

Для установки rdesktop в Arch Linux и производные выполните команду:

sudo pacman -S rdesktop

Как подключиться к удалённому рабочему столу с rdesktop

Для подключения к RDP с rdesktop используйте команду вида:

rdesktop -u ПОЛЬЗОВАТЕЛЬ -p ПАРОЛЬ ХОСТ
rdesktop -u Tester -p 1234 192.168.0.101

Как обычно, в самом начале возникнет проблема с сертификатом:

Autoselecting keyboard map 'ru' from locale ATTENTION! The server uses and invalid security certificate which can not be trusted for the following identified reasons(s); 1. Certificate issuer is not trusted by this system. Issuer: CN=HackWare-MiAl Review the following certificate info before you trust it to be added as an exception. If you do not trust the certificate the connection atempt will be aborted: Subject: CN=HackWare-MiAl Issuer: CN=HackWare-MiAl Valid From: Thu Apr 2 20:56:11 2020 To: Fri Oct 2 20:56:11 2020 Certificate fingerprints: sha1: 6a4cbe35235f46b5bd37155ef721ec59aac11c3e sha256: 35368cc1b2ae9e79927bcb8ededed228062de34978aeeeab74bb029ccbc255e9 Do you trust this certificate (yes/no)? yes

Набираем yes.

Затем возникнет ошибка:

Failed to initialize NLA, do you have correct Kerberos TGT initialized ? Failed to connect, CredSSP required by server (check if server has disabled old TLS versions, if yes use -V option).

Она вызвана тем, что не настроена аутентификация на уровне сети (Kerberos TGT). Инструкция по настройке по ссылке: https://github.com/rdesktop/rdesktop/wiki/Network-Level-Authentication-(NLA)

Другой вариант, который позволяет подключиться к Windows по RDP с помощью rdesktop без настройки Network Level Authentication (NLA) — это отключить аутентификацию на уровне сети в Windows. Понятно, что это ослабит безопасность RDP, поэтому не рекомендуется. Но как «быстрый грязный фикс» это можно сделать следующим образом: Меню «Пуск» → Параметры → Система → Удалённый рабочий стол → Дополнительные параметры → Снять галочку с «Требовать использование компьютерами аутентификации на уровне сети для подключения (рекомендуется)»:

Всё равно продолжить:

После этого подключение rdesktop проходит без ошибок:

В настройках Windows вы могли увидеть ссылку «Почему следует разрешать подключения только с проверкой подлинности на уровне сети?», там написано следующее:

Если вы хотите ограничить доступ к компьютеру, разрешите доступ только с проверкой подлинности на уровне сети (NLA). При включении этого параметра пользователи должны пройти аутентификацию в сети, чтобы подключиться к компьютеру. Разрешение подключений только с компьютеров с удаленным рабочим столом с NLA является более безопасным методом проверки подлинности, который поможет защитить компьютер от злоумышленников и вредоносных программ. Чтобы узнать больше о NLA и удаленном рабочем столе, ознакомьтесь с разделом Configure Network Level Authentication for Remote Desktop Services Connections (Настройка NLA для подключения к удаленному рабочему столу).

Если вы подключаетесь удаленно к компьютеру в своей домашней сети, не находясь в этой сети, не выбирайте этот параметр.

Как установить сервер RDP в Linux

Сервер удалённого рабочего стола RDP может работать не только на Windows, но и на Linux. В результате к Linux можно подключиться по протоколу RDP.

В Linux протокол RDP не встроен по умолчанию как в Windows. Также в Linux отсутствуют некоторые другие протоколы, которые используются прозрачно (незаметно) для пользователей Windows, например, для сетевой аутентификации.

Тем не менее существуют сервера RDP которые успешно работают на Linux.

Как использовать freerdp-shadow для запуска RDP сервера

Для установки freerdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

sudo apt install freerdp2-shadow-x11 winpr-utils

Для установки freerdp в Arch Linux и производные выполните команду:

sudo pacman -S freerdp

Исполнимые файлы в разных дистрибутивах называются чуть по-разному. В Debian, Kali Linux, Linux Mint, Ubuntu файл для запуска RDP сервера называется: freerdp-shadow-x11

А в Arch Linux файл для запуска RDP сервера называется: freerdp-shadow-cli

Но по сути это одна программа и опции у них одинаковые.

Чуть выше, говоря о rdesktop, мы уже столкнулись с Network Level Authentication (NLA), то есть проверкой подлинности на уровне сети. Для запуска RDP сервера на Linux вы должны выбрать один из двух вариантов:

  • запустить сервер вовсе без аутентификации
  • включить NLA и сделать необходимые для неё настройки

Чтобы запустить RDP сервер вовсе без аутентификации используйте опцию -auth:

freerdp-shadow-x11 -auth

Если аутентификация включена, PAM используется с подсистемой X11. Запуск от имени пользователя root не обязателен, однако, если запускать от имени пользователя, только тот же пользователь, который запустил freerdp-shadow, может аутентифицироваться. Предупреждение: если аутентификация отключена, каждый может подключиться.

Любая сетевая служба без аутентификации это беда для безопасности системы. Поэтому рассмотрим, как запустить freerdp-shadow с поддержкой NLA.

Прежде всего для NLA необходимо создать файл, в котором будет строка вида:

ПОЛЬЗОВАТЕЛЬ. ХЕШ.

Имя пользователя Linux нам известно, для вычисления хеша нужно выполнить команду вида:

winpr-hash -u ПОЛЬЗОВАТЕЛЬ -p ПАРОЛЬ

К примеру, имя пользователя mial, а пароль цифра 2 тогда команда следующая:

winpr-hash -u mial -p 2
8f33e2ebe5960b8738d98a80363786b0

Создаём текстовый файл SAM и в него записываем строку

mial. 8f33e2ebe5960b8738d98a80363786b0.

Теперь запускаем freerdp-shadow-x11 с двумя опциями:

  • /sam-file:ФАЙЛ — указывает на расположение NTLM SAM файла для NLA аутентификации
  • /sec:nla — принудительное включение аутентификации по протоколу NLA

Итак, моя команда следующая:

freerdp-shadow-x11 /sam-file:SAM /sec:nla

Для проверки подключаюсь из Windows:

У нас запрашивают пароль — это означает, что на сервере RDP включена аутентификация NLA.

Для того, чтобы делиться не всем экраном, а только его частью, используйте опцию /rect:x,y,w,h. Где:

  • x,y — координаты верхнего левого угла прямоугольника
  • w — ширина прямоугольника
  • h — высота прямоугольника

К примеру, чтобы делиться частью экрана 500×500 пикселей с координатами 200,300:

freerdp-shadow-x11 /sam-file:SAM /sec:nla /rect:200,300,500,500

Ошибка freerdp-shadow «client authentication failure: -1»

Если при запуске RDP сервера freerdp-shadow вы получили ошибку:

[11:54:02:458] [1921:1925] [ERROR][com.freerdp.client.shadow] - client authentication failure: -1 [11:54:02:458] [1921:1925] [ERROR][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_FINALIZATION - peer_recv_pdu() fail [11:54:02:458] [1921:1925] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1 [11:54:02:458] [1921:1925] [ERROR][com.freerdp.client.shadow] - Failed to check FreeRDP file descriptor

То необходимо создать файл SAM и запустить freerdp-shadow с опциями /sam-file:SAM /sec:nla как это показано выше.

Как запустить RDP сервер с xrdp

Для установки xrdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

sudo apt install xrdp

Для установки xrdp в Arch Linux и производные выполните команды:

sudo pacman -S alsa-lib mesa git clone https://aur.archlinux.org/xrdp.git cd xrdp makepkg -si

Для запуска служб xrdp-sesman и xrdp в любом дистрибутиве выполните команду:

sudo systemctl start xrdp-sesman.service

Важные файлы xrdp:

  • /etc/xrdp/xrdp.ini — файл настроек
  • /var/log/xrdp.log — файл журналов событий

Подключаемся из Windows к xrdp. Вводим имя пользователя и пароль пользователя Linux:

Теперь мы можем выполнять команды на компьютере с Linux так, будто бы мы сидим за ним:

Как из Linux подключиться к другому Linux по RDP

Каких-то особенностей при подключении с использованием программы xfreerdp нет, достаточно запустить сервер RDP, причём, если вы используете freerdp-shadow, то опции /sam-file:SAM /sec:nla также нужны:

freerdp-shadow-x11 /sam-file:SAM /sec:nla

Либо запустите xrdp-sesman и xrdp.

А затем подключение ничем не отключается от подключению к Windows:

xfreerdp /u:mial /p:2 /v:192.168.0.73

Что касается rdesktop, то её не удалось заставить работать ни с одним из рассмотренных серверов RDP под Linux — если вы знаете, как это сделать, то пишите в комментариях.

Связанные статьи:

  • Всё о RDP: от настройки до взлома (93.9%)
  • VNC в Linux: настройка сервера и клиента (57.7%)
  • Удалённый рабочий стол RDP: как включить и как подключиться по RDP (55.3%)
  • Перевод официальной документации по Kali Linux: WSL (подсистема Windows для Linux) (54.3%)
  • Как в Linux взламывать пароли видеокартой и центральным процессором (53.6%)
  • Как установить CAL++ в Kali Linux 2 (RANDOM — 50.1%)

факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!

Рекомендуется Вам:

3 комментария to RDP в Linux: запуск сервера и подключение к Windows

Всё замечательно, если деется всё в локалке » -u Tester -p 1234 192.168.0.101 «.
Осталось понять, как мне подключиться из Сибири к клиенту в московии — и тут, и там сиживаем за NAT (конечно, можно узнать IP через которые «вылазят» в мир оба компа…). Разумеется, «это отключить аутентификацию на уровне сети» — не пойдет. Как-то настраивать надо, на той стороне юзер-чайник…
Попробую конечно.
А вот TeamWiever — злодей, «подсадил» народ, а потом стал трясти денюжек, хотя я пользовался им 2-3-4 раза в год. Понятно, когда юзают чуть ли не каждый день, что означает: «Платные услуги», но редких то зачем «рубить».

Alexey :

Приветствую! Если оба пользователи за NAT, то с RDP без участия стороннего сервера с белым IP вряд ли что-то получится. Вот здесь я пишу как подключиться если клиента отделяет только NAT роутера, а Интернет-провайдер не использует NAT (то есть когда клиент хоть и получает временный IP адрес, но является единственным его пользователем), но это дело случая, всё зависит от сетей провайдера. TeamViewer, кстати, также использует сторонний (центральный) сервер. В качестве бесплатной альтернативы для TeamViewer предлагают Ammyy Admin, пишут, что он также использует центральный сервер и идентификаторы пользователя, поэтому NAT ему нипочём. Но я не пользуюсь ни одной из этих программ, поэтому что-то более подробное сказать не могу. Всё, что написано дальше — для технически продвинутых пользователей, которые ещё и любят повозиться (короче говоря, большинством пользователей это воспринимается как «наркоманство»):

1. Использовать ngrok для получения белого IP

Про ngrok смотрите в этой статье. Суть в следующем, клиент должен запустить ngrok и указать прослушивать порт 3389 — в результате он получит домен третьего уровня с внешним IP. Затем вам нужно подключиться по RDP указав вместо IP тот самый домен, который получил пользователь. Возможные проблемы: 1. Нужно уговорить пользователя запустить исполнимый файл ngrok 2. RDP использует не только TCP, но ещё и UDP порт, возможно, ничего не заработает

2. ngrok + VNC

У RDP есть открытая альтернатива VNC. Алгоритм: 1. Клиент запускает ngrok, который в данном случае прослушивает порт VNC — 5900. 2. Клиент запускает VNC сервер 3. Вы с помощью VNC клиента подключаетесь к VNC серверу, указав вместо IP тот самый домен третьего уровня, который получил пользователь. Вам опять нужно уговорить пользователя запустить ngrok и VNC сервер.

3. ngrok + VNC + Обратное подключение

Если коротко, то алгоритм следующий: 1. Вы запускаете ngrok, который в данном случае прослушивает порт VNC — 5900. 2. Запускаете VNC клиент с ожиданием обратного подключения. 3. Просите клиента запустить VNC сервер и объясняете ему как подключиться к Обратному подключению Пользователю не придётся разбираться с ngrok, но придётся разбираться с обратным подключением.

4. VPN — решение всех проблем в корпоративной среде

В корпоративной среде такие проблемы решают с помощью VPN. Не того VPN, который можно получить бесплатно для доступа к сайтам, а VPN, который вы настроили сами на VDS — в этом случае оба компьютера в одной виртуальной частной сети оказываются внутри локалки. Более подробно об этом здесь: «Продвинутое использование OpenVPN». Но это сложно и не бесплатно (за VDS надо платить! — проще уж заплатить за TeamViewer). К тому же, пользователю ещё придётся объяснять, как подключиться к VPN сети, а потом блокировать (отзывать) его сертификаты (если пользователь временный). То есть это для тех, кто не хочет использовать сторонние сервера и понимает, зачем ему VPN.

Freerdp как запустить

FreeRDP — это бесплатный клиент удаленного рабочего стола (RDP), выпущенный под лицензией Apache. Сайт проекта www.freerdp.com

FreeRDP удалённо отображает рабочий стол Windows Terminal Server 2003 и более старших версий, а так же рабочий стол Windows XP и более старших версий. FreeRDP запускается на компьютерах с операционной системой Linux, Mac OS, Windows и на тонких клиентах с ARM процессорами работающими под Linux. FreeRDP, начиная со 2-й версии, лучший клиент удалённого рабочего стола для Linux.

Установка FreeRDP последней версии на Debian или Ubuntu Linux:

sudo apt install freerdp2-x11

В Raspbian Linux для микрокомпьютера Raspberry Pi 2-я версия FreeRDP, на момент написания этой статьи, была не доступна, а в первой версии были замечены недостатки при работе с CorelDraw. Для комфортной работы на Raspberry Pi с удалёнными рабочими столами по протоколу RDP можно установить пакет freerdp2-x11 из исходных кодов:

1) скачайте исходники

git clone git://github.com/FreeRDP/FreeRDP.git

2) перейдите в папку FreeRDP

cd FreeRDP

3) установите базовые пакеты (зависимости)

sudo apt install ninja-build build-essential git-core debhelper cdbs dpkg-dev autotools-dev cmake pkg-config xmlto libssl-dev docbook-xsl xsltproc libxkbfile-dev libx11-dev libwayland-dev libxrandr-dev libxi-dev libxrender-dev libxext-dev libxinerama-dev libxfixes-dev libxcursor-dev libxv-dev libxdamage-dev libxtst-dev libcups2-dev libpcsclite-dev libasound2-dev libpulse-dev libjpeg-dev libgsm1-dev libusb-1.0-0-dev libudev-dev libdbus-glib-1-dev uuid-dev libxml2-dev libgstreamer1.0-dev libgstreamer0.10-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-base0.10-dev

4) установите дополнительные пакеты

sudo apt install libcunit1-dev libdirectfb-dev xmlto doxygen libxtst-dev

5) сгенерируйте make-файлы

cmake .

Так же можно использовать утилиту ccmake. Для включения дополнительных функций FreeRDP команду cmake следует использовать с ключами вида -DWITH_XXX = ON. Где XXX — название этой функции. Например:

cmake -GNinja -DCHANNEL_URBDRC=ON -DWITH_DSP_FFMPEG=ON -DWITH_CUPS=ON -DWITH_PULSE=ON -DWITH_FAAC=ON -DWITH_FAAD2=ON -DWITH_GSM=ON .l

6) установите FreeRDP в вашу систему

sudo cmake --build . --target install

7) запускаем FreeRDP и подключаемся к удалённому рабочему столу Windows

xfreerdp /v:192.168.0.206 /u:user /p:password /f -themes -decorations /gdi:hw

Рис. 1. Вход в Windows с Linux компьютера с помощью FreeRDP 2

Перечислим некоторые ключи команды xfreerdp:

/v: IP адрес терминального сервера

/u: имя пользователя зарегистрированного на сервере терминалов с правами на удалённый доступ

/p: пароль этого пользователя

/f удалённый рабочий стол открывается на весь экран

Подробнее на сайте проекта FreeRDP или в руководстве пользователя доступном по команде

xfreerdp /help
man xfreerdp

Ключи компиляции по умолчанию:

AVCODEC_INCLUDE_DIR AVCODEC_INCLUDE_DIR-NOTFOUND AVCODEC_LIBRARY AVCODEC_LIBRARY-NOTFOUND AVRESAMPLE_INCLUDE_DIR AVRESAMPLE_INCLUDE_DIR-NOTFOUND AVRESAMPLE_LIBRARY AVRESAMPLE_LIBRARY-NOTFOUND AVUTIL_INCLUDE_DIR AVUTIL_INCLUDE_DIR-NOTFOUND AVUTIL_LIBRARY AVUTIL_LIBRARY-NOTFOUND BUILD_TESTING OFF BUILTIN_CHANNELS ON CCACHE CCACHE-NOTFOUND CHANNEL_AUDIN ON CHANNEL_AUDIN_CLIENT ON CHANNEL_AUDIN_SERVER ON CHANNEL_CLIPRDR ON CHANNEL_CLIPRDR_CLIENT ON CHANNEL_CLIPRDR_SERVER ON CHANNEL_DISP ON CHANNEL_DISP_CLIENT ON CHANNEL_DISP_SERVER OFF CHANNEL_DRDYNVC ON CHANNEL_DRDYNVC_CLIENT ON CHANNEL_DRDYNVC_SERVER ON CHANNEL_DRIVE ON CHANNEL_DRIVE_CLIENT ON CHANNEL_DRIVE_SERVER OFF CHANNEL_ECHO ON CHANNEL_ECHO_CLIENT ON CHANNEL_ECHO_SERVER ON CHANNEL_ENCOMSP ON CHANNEL_ENCOMSP_CLIENT ON CHANNEL_ENCOMSP_SERVER ON CHANNEL_GEOMETRY ON CHANNEL_GEOMETRY_CLIENT ON CHANNEL_PARALLEL ON CHANNEL_PARALLEL_CLIENT ON CHANNEL_PARALLEL_SERVER OFF CHANNEL_PRINTER OFF CHANNEL_RAIL ON CHANNEL_RAIL_CLIENT ON CHANNEL_RAIL_SERVER OFF CHANNEL_RDP2TCP ON CHANNEL_RDP2TCP_CLIENT ON CHANNEL_RDP2TCP_SERVER OFF CHANNEL_RDPDR ON CHANNEL_RDPDR_CLIENT ON CHANNEL_RDPDR_SERVER ON CHANNEL_RDPEI ON CHANNEL_RDPEI_CLIENT ON CHANNEL_RDPEI_SERVER OFF CHANNEL_RDPGFX ON CHANNEL_RDPGFX_CLIENT ON CHANNEL_RDPGFX_SERVER OFF CHANNEL_RDPSND ON CHANNEL_RDPSND_CLIENT ON CHANNEL_RDPSND_SERVER ON CHANNEL_REMDESK ON CHANNEL_REMDESK_CLIENT ON CHANNEL_REMDESK_SERVER ON CHANNEL_SERIAL ON CHANNEL_SERIAL_CLIENT ON CHANNEL_SERIAL_SERVER OFF CHANNEL_SMARTCARD ON CHANNEL_SMARTCARD_CLIENT ON CHANNEL_SMARTCARD_SERVER OFF CHANNEL_SSHAGENT OFF CHANNEL_TSMF ON CHANNEL_TSMF_CLIENT ON CHANNEL_TSMF_SERVER OFF CHANNEL_URBDRC OFF CHANNEL_VIDEO ON CHANNEL_VIDEO_CLIENT ON CMAKE_BUILD_TYPE CMAKE_INSTALL_PREFIX /usr/local GSTREAMER_1_0_APP_LIBRARIES /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so GSTREAMER_1_0_AUDIO_LIBRARIES /usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so GSTREAMER_1_0_BASE_LIBRARIES /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so GSTREAMER_1_0_FFT_LIBRARIES /usr/lib/x86_64-linux-gnu/libgstfft-1.0.so GSTREAMER_1_0_PBUTILS_LIBRARIE /usr/lib/x86_64-linux-gnu/libgstpbutils-1.0.so GSTREAMER_1_0_VIDEO_LIBRARIES /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so PRODUCT FreeRDP SWRESAMPLE_INCLUDE_DIR SWRESAMPLE_INCLUDE_DIR-NOTFOUND SWRESAMPLE_LIBRARY SWRESAMPLE_LIBRARY-NOTFOUND USE_VERSION_FROM_GIT_TAG OFF VENDOR FreeRDP WAYLAND_CLIENT_LIB /usr/lib/x86_64-linux-gnu/libwayland-client.so WAYLAND_CURSOR_LIB /usr/lib/x86_64-linux-gnu/libwayland-cursor.so WAYLAND_INCLUDE_DIR /usr/include WAYLAND_SCANNER /usr/bin/wayland-scanner WITH_ALSA ON WITH_CAIRO OFF WITH_CCACHE ON WITH_CHANNELS ON WITH_CLANG_FORMAT ON WITH_CLIENT ON WITH_CLIENT_CHANNELS ON WITH_CLIENT_COMMON ON WITH_CLIENT_INTERFACE OFF WITH_CUPS OFF WITH_DEBUG_ALL OFF WITH_DEBUG_CAPABILITIES OFF WITH_DEBUG_CERTIFICATE OFF WITH_DEBUG_CHANNELS OFF WITH_DEBUG_CLIPRDR OFF WITH_DEBUG_DVC OFF WITH_DEBUG_KBD OFF WITH_DEBUG_LICENSE OFF WITH_DEBUG_MUTEX OFF WITH_DEBUG_NEGO OFF WITH_DEBUG_NLA OFF WITH_DEBUG_NTLM OFF WITH_DEBUG_RAIL OFF WITH_DEBUG_RDP OFF WITH_DEBUG_RDPDR OFF WITH_DEBUG_RDPEI OFF WITH_DEBUG_RDPGFX OFF WITH_DEBUG_REDIR OFF WITH_DEBUG_RFX OFF WITH_DEBUG_RINGBUFFER OFF WITH_DEBUG_SCARD OFF WITH_DEBUG_SND OFF WITH_DEBUG_SVC OFF WITH_DEBUG_SYMBOLS OFF WITH_DEBUG_THREADS OFF WITH_DEBUG_TIMEZONE OFF WITH_DEBUG_TRANSPORT OFF WITH_DEBUG_TSG OFF WITH_DEBUG_TSMF OFF WITH_DEBUG_WND OFF WITH_DEBUG_X11 OFF WITH_DEBUG_X11_CLIPRDR OFF WITH_DEBUG_X11_LOCAL_MOVESIZE OFF WITH_DEBUG_XV OFF WITH_DSP_EXPERIMENTAL OFF WITH_FAAC OFF WITH_FAAD2 OFF WITH_FFMPEG OFF WITH_GPROF OFF WITH_GSM OFF WITH_GSSAPI OFF WITH_GSTREAMER_0_10 OFF WITH_GSTREAMER_1_0 ON WITH_ICU OFF WITH_IPP OFF WITH_JPEG OFF WITH_LAME OFF WITH_LIBSYSTEMD OFF WITH_MANPAGES ON WITH_MBEDTLS OFF WITH_OPENH264 OFF WITH_OPENSLES OFF WITH_OPENSSL ON WITH_OSS ON WITH_PCSC OFF WITH_PROFILER OFF WITH_PULSE OFF WITH_SAMPLE OFF WITH_SANITIZE_ADDRESS OFF WITH_SANITIZE_MEMORY OFF WITH_SANITIZE_THREAD OFF WITH_SERVER OFF WITH_SERVER_INTERFACE ON WITH_SMARTCARD_INSPECT OFF WITH_SOXR OFF WITH_SSE2 ON WITH_SWSCALE OFF WITH_THIRD_PARTY OFF WITH_VALGRIND_MEMCHECK OFF WITH_WAYLAND OFF WITH_WINPR_TOOLS ON WITH_X11 ON WITH_X264 OFF WITH_XCURSOR ON WITH_XEXT ON WITH_XFIXES ON WITH_XI ON WITH_XINERAMA ON WITH_XKBFILE ON WITH_XRANDR ON WITH_XRENDER ON WITH_XSHM ON WITH_XV ON WITH_ZLIB ON XKBCOMMON_INCLUDE_DIR XKBCOMMON_INCLUDE_DIR-NOTFOUND XKBCOMMON_LIBS XKBCOMMON_LIBS-NOTFOUND XSLTPROC_EXECUTABLE /usr/bin/xsltproc
  • Вы здесь:
  • Главная
  • Desktop
  • FreeRDP клиент удалённого рабочего стола
  • Linux на Orange Pi 3 LTS
  • Orange Pi 3 LTS
  • Linux на Orange Pi Zero 2
  • gsettings конфигурация
  • Установка приложений
  • Gnome-tweaks
  • Установка Fusion360 на Linux
  • Отключить автоматическую блокировку экрана
  • KNetWalk игра Компьютерная сеть
  • Raspberry Pi OS на VirtualBox
  • Raspberry Pi первый запуск
  • ALT Linux загрузочная флешка
  • ALT Linux для микрокомпьютеров
  • OS RaspberryPy русский
  • Raspberry Pi OS
  • Inkscape
  • Adobe Flash Player в Ubuntu
  • Ubuntu 20.04 установка
  • Raspbian добавить пользователя
  • idesk значки рабочего стола
  • slim миниатюрный менеджер дисплеев
  • ObMenu
  • OpenBox на Debian
  • Детский компьютер
  • Debian с Raspberry Pi Desktop для PC
  • Author Login
  • Карта сайта

Установка и настройка терминального клиента RDP на Linux

Выход и полноэкранного режима по Ctrl+Alt+Enter или через Пуск -> Завершение сеанса.

Если все ок создаем ярлык на рабочем столе

Правой кнопкой мыши на экране -> Create Launcher
ВВодим

Name - Удаленный рабочий стол Command - ~/rdp.sh Working directory - ~/ Icon - Выбираем иконку для ярлыка

Нажимаем Create
На рабочем столе появится иконка с нашим скриптом
Два раза щелкаем по ней для запуска.
При появлении окна Untrusted application launcher, выбираем Mark Executable.

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

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