Как включить удаленный доступ через xrdp на Raspberry Pi

Довольно распространено подключение к Raspberry Pi удаленно через протокол Secure Shell (SSH). Проблема с SSH в том, что он позволяет подключаться только к оболочке вашего Pi. Что если вы хотите удаленно наслаждаться полным рабочим столом? Здесь на помощь приходит xrdp. Вот как вы можете настроить xrdp на своем Pi, чтобы подключаться к нему удаленно с любого компьютера под управлением Windows, Mac или Linux, а также мобильных устройств iOS и Android.
Что такое xrdp и как он работает?
xrdp - это реализация открытого исходного кода протокола удаленного рабочего стола Microsoft (RDP), которая позволяет вам подключаться к вашим Linux-устройствам, используя тот же протокол, что и для подключений к удаленному рабочему столу Windows.

В любой настройке xrdp есть два компонента: сервер xrdp, работающий на вашем Raspberry Pi, и клиент удаленного рабочего стола на устройстве, с которого вы хотите подключиться. Если вы используете Windows, то, вероятно, у вас уже установлен клиент, и есть сторонние клиенты для всех остальных основных платформ.
По умолчанию xrdp защищает все ваши удаленные сеансы с помощью шифрования TLS (Transport Layer Security), так что вам не придется беспокоиться о том, что кто-то подслушивает ваше соединение. Это шифрование охватывает все, от движений мыши до передачи файлов и даже содержимого буфера обмена.
Теперь xrdp - не единственное решение своего рода. Другой популярный вариант - VNC (Virtual Network Computing), который входит в Raspberry Pi OS. Однако я заметил, что RDP работает значительно лучше, чем VNC. Когда я удаленно подключаюсь к своему Pi с помощью xrdp, я едва замечаю задержки при выполнении обычных задач, таких как просмотр веб-страниц или настройка ОС, что нельзя сказать о VNC.
Установка и настройка сервера xrdp на Pi
Первое, что вам нужно сделать, это открыть терминал и выполнить:
sudo apt install xrdpЭта команда загрузит и установит пакет xrdp вместе со всеми его зависимостями.

После завершения установки есть небольшой, но важный шаг, который я узнал на собственном опыте - вам нужно добавить пользователя xrdp в группу ssl-cert, чтобы xrdp мог правильно обрабатывать защищенные соединения. Просто выполните sudo adduser xrdp ssl-cert, и можно продолжать.

Если вы используете последнюю версию Raspberry Pi OS, то стандартная конфигурация, вероятно, приведет к проблемам с дисплеем (ваш экран будет полностью черным). Исправление на самом деле довольно простое:
Откройте файл конфигурации xorg:
sudonano/etc/X11/xrdp/xorg.confКак только вы попали в файл конфигурации, вам нужно найти строку, которая содержит Option “DRMDevice” (вы можете нажать Ctrl + W в nano, чтобы поискать “DRMDevice”). Когда вы ее найдете, нужно изменить ее на:
Option "DRMDevice"""
Нажмите Ctrl + X, чтобы выйти из редактора (не забудьте нажать Y, чтобы сохранить изменения).
После внесения этих изменений перезагрузите свой Pi, и ваш сервер xrdp должен быть настроен и готов принять подключения (он запустится автоматически после каждой загрузки).
Подключение к серверу xrdp на вашем Pi
Теперь, когда сервер xrdp запущен на вашем Pi, вы можете подключиться к нему с практически любого устройства - вам просто нужен клиент удаленного рабочего стола для вашей платформы.
- Для пользователей Windows лучшие варианты - это встроенное приложение Microsoft Remote Desktop, и вы можете получить последнюю версию в Microsoft Store.
- Если вы на macOS, вам нужно скачать Windows App из App Store.
- Пользователи Android могут получить приложение Remote Desktop из Play Store.
- Пользователи iOS должны искать Windows App Mobile в App Store.
- Если вы используете Linux, вы можете использовать Remmina, бесплатный и открытый клиент, который хорошо работает с подключениями RDP через свою систему плагинов.

Хорошая новость заключается в том, что процесс схож, независимо от того, какой клиент вы используете. Например, в macOS я могу просто нажать на значок Плюс и выбрать добавить новый ПК.

Введите локальный IP-адрес вашего Pi в поле Имя ПК (если вы не уверены, какой адрес, просто введите ifconfig в терминале вашего Pi). Вы также можете дать своему подключению понятное имя, например “Workshop Pi” или “Media Pi” в поле Удобное имя. После того как вы ввели эти данные, нажмите Добавить, и вы должны увидеть ваше новое подключение в списке. Дважды щелкните на нем, и если все настроено правильно, вы встретите рабочую среду вашего Pi.

Чтобы избежать будущих головных болей, я настоятельно рекомендую зарезервировать статический IP-адрес для вашего Pi в настройках вашего маршрутизатора. Таким образом, вам не придется изменять настройки подключения каждый раз, когда ваш маршрутизатор решает изменить ситуацию, дав вашему Pi новый IP-адрес, что может произойти после перезагрузки маршрутизатора.
Теперь, когда вы можете комфортно управлять своим Raspberry Pi удаленно с любого устройства, вам будет легко запустить собственный локальный LLM на нем, превратить его в радиостанцию Discord, настроить самохостинг фотогалереи и многое другое.