Команда xfreerdp /v:192.168.1.10 /u:admin выдаёт ошибку сертификата или чёрный экран вместо рабочего стола — типичная точка входа для тех, кто впервые настраивает FreeRDP. Причина чаще всего не в самой программе, а в отсутствии обязательных параметров: не указан пароль, не отключена проверка сертификата или сервер Windows требует аутентификацию на уровне сети (NLA). Разобраться в этом проще, чем кажется.
FreeRDP — это свободная реализация протокола RDP (Remote Desktop Protocol) для Linux, macOS и других систем. С её помощью можно подключаться к удалённым рабочим столам Windows без установки платных клиентов. В статье разберём установку, базовые команды, проброс локальных ресурсов и типичные ошибки.
Что такое FreeRDP и когда он нужен
FreeRDP — открытый проект, который реализует клиентскую часть протокола Microsoft RDP. Основная утилита называется xfreerdp и работает из командной строки, хотя существуют и графические обёртки вроде Remmina, которые используют FreeRDP «под капотом».
Инструмент полезен в нескольких сценариях:
- 🖥️ подключение с Linux-машины к серверу или ПК на Windows;
- 🔧 администрирование удалённых систем из терминала и скриптов;
- 📁 проброс локальных папок, буфера обмена и звука в удалённую сессию;
- ⚙️ тонкая настройка параметров RDP, недоступных в простых GUI-клиентах.
Если вы работаете в графической среде и вам нужен один клик для подключения — удобнее Remmina. Но для автоматизации, скриптов и диагностики командная строка xfreerdp незаменима.
Установка FreeRDP
В большинстве дистрибутивов Linux пакет доступен в штатных репозиториях. Название пакета может отличаться: где-то это freerdp, где-то freerdp2-x11 или freerdp3-x11. Проверить актуальное имя можно поиском по пакетному менеджеру вашей системы.
# Debian / Ubuntu
sudo apt install freerdp2-x11
Fedora
sudo dnf install freerdp
Arch Linux
sudo pacman -S freerdp
После установки проверьте версию командой xfreerdp --version. Обратите внимание: синтаксис параметров во второй и третьей версиях FreeRDP заметно отличается — об этом подробнее ниже. Если команда не находится, уточните имя бинарного файла: в некоторых сборках он называется xfreerdp3.
Базовое подключение: синтаксис и параметры
Минимальная команда подключения выглядит так: нужно указать адрес сервера, имя пользователя и пароль. В версии FreeRDP 2.x параметры пишутся через слэш, в 3.x — также через слэш, но часть имён параметров изменилась, поэтому всегда сверяйтесь с выводом xfreerdp --help вашей версии.
xfreerdp /v:192.168.1.10 /u:username /p:password
Ключевые параметры, которые понадобятся чаще всего:
- 🌐
/v:адрес— IP или имя сервера, к которому подключаемся; - 👤
/u:имяи/p:пароль— учётные данные (пароль лучше не хранить в истории команд, можно опустить и ввести интерактивно); - 📐
/size:1920x1080или/f— разрешение окна либо полноэкранный режим; - 🔐
/cert:ignore— игнорировать ошибки самоподписанного сертификата; - 📋
+clipboard— общий буфер обмена между системами.
⚠️ Внимание: указывать пароль прямо в команде небезопасно — он остаётся в истории shell и виден в списке процессов. Опустите /p:, и клиент запросит пароль интерактивно.
☑️ Первое подключение через FreeRDP
Проброс папок, звука и буфера обмена
Одно из главных преимуществ FreeRDP — гибкий проброс локальных ресурсов в удалённую сессию. Чтобы передать локальную папку, используется параметр /drive: внутри Windows она появится как сетевой диск.
xfreerdp /v:192.168.1.10 /u:admin \
/drive:shared,/home/user/Documents \
+clipboard /sound /microphone
Здесь /drive:shared,путь монтирует каталог под именем «shared», +clipboard включает общий буфер обмена, а /sound и /microphone перенаправляют аудио. В FreeRDP 3.x синтаксис звука может отличаться (например, /sound:sys:alsa или через PulseAudio) — уточняйте в справке вашей версии.
Если буфер обмена не работает, проверьте, что на стороне Windows не запрещено перенаправление групповыми политиками, и что вы не забыли плюс перед параметром: +clipboard включает, а -clipboard отключает функцию.
Различия синтаксиса FreeRDP 2.x и 3.x
При переходе с версии 2 на версию 3 разработчики изменили часть параметров, поэтому старые команды из интернет-инструкций могут не работать. Вот основные отличия, о которых стоит знать:
| Задача | FreeRDP 2.x | FreeRDP 3.x |
|---|---|---|
| Игнор сертификата | /cert-ignore | /cert:ignore |
| Размер окна | /size:1920x1080 | /size:1920x1080 |
| Проброс диска | /drive:имя,путь | /drive:имя,путь |
| Буфер обмена | +clipboard | +clipboard |
| Звук | /sound | /sound:sys:имя (зависит от сборки) |
Точный список поддерживаемых опций зависит от сборки и версии, поэтому надёжный способ — выполнить xfreerdp --help и найти нужный параметр там. Это займёт минуту, но избавит от гаданий.
Как узнать версию и список параметров
Выполните xfreerdp --version для проверки версии. Полный список опций выводится командой xfreerdp --help. В некоторых дистрибутивах бинарный файл называется xfreerdp3 или wlfreerdp (для Wayland) — проверьте, какой именно установлен у вас.
Типичные ошибки и их решение
Самая частая проблема — ошибка проверки сертификата с сообщением вроде certificate verification failed. Она возникает потому, что Windows использует самоподписанный сертификат. Для домашней сети это решается параметром /cert:ignore; в рабочей среде лучше добавить сертификат в доверенные, а не отключать проверку.
Вторая распространённая ситуация — отказ в подключении из-за NLA (Network Level Authentication). Если сервер требует NLA, а аутентификация не проходит, проверьте правильность домена в имени пользователя: иногда нужен формат /u:DOMAIN\user или /u:user@domain.
⚠️ Внимание: параметр /cert:ignore отключает проверку подлинности сервера, что делает соединение уязвимым для атак типа «человек посередине». Используйте его только в доверенной локальной сети.
Чёрный экран после подключения часто связан с графическими настройками. Попробуйте добавить /gfx или, наоборот, отключить аппаратное ускорение, а также сменить глубину цвета параметром /bpp:16. Если ничего не помогает — запустите клиент с подробным логом: xfreerdp ... /log-level:DEBUG и изучите вывод.
Полезные советы для ежедневной работы
Чтобы не вводить длинную команду каждый раз, сохраните её в shell-алиас или скрипт. Например, добавьте в ~/.bashrc строку alias workrdp='xfreerdp /v:192.168.1.10 /u:admin /size:1920x1080 +clipboard' — и подключение будет запускаться одной короткой командой.
Для выхода из полноэкранного режима используется сочетание клавиш, которое можно переопределить; по умолчанию во многих сборках это Ctrl+Alt+Enter. Если сочетание не срабатывает, проверьте справку вашей версии — поведение может отличаться.
Если вам нужен графический интерфейс, но с движком FreeRDP, установите Remmina: она позволяет сохранять профили подключений, группировать их и настраивать те же параметры через удобные окна. Это хороший компромисс между мощью командной строки и удобством.
Часто задаваемые вопросы
Как подключиться к Windows с нестандартным портом RDP?
Укажите порт через двоеточие вместе с адресом: xfreerdp /v:192.168.1.10:3390 /u:user. Убедитесь, что порт открыт в брандмауэре сервера.
Почему не работает буфер обмена?
Проверьте, что в команде есть +clipboard, а на стороне Windows перенаправление буфера не запрещено групповыми политиками. Также перезапустите процесс rdpclip.exe на удалённой машине — иногда он «зависает».
Как передать локальную папку в удалённую сессию?
Используйте параметр /drive:имя,/путь/к/папке. Внутри Windows папка появится в разделе «Этот компьютер» как сетевой диск с указанным именем.
Чем xfreerdp отличается от wlfreerdp?
xfreerdp работает в графическом окружении X11, а wlfreerdp — в Wayland. Выбор зависит от того, какая графическая сессия используется в вашей системе; синтаксис параметров у них общий.
Безопасно ли хранить пароль в команде подключения?
Нет: пароль в параметре /p: остаётся в истории shell и виден другим процессам. Безопаснее опустить пароль и вводить его интерактивно либо использовать менеджер паролей и внешние скрипты с ограниченными правами доступа.