- Установка XRDP в Ubuntu 20.04
- Что такое XRDP
- Установка XRDP на Ubuntu 20.04
- Шаг 1. Поиск пакета
- Шаг 2. Обновление системы
- Шаг 3. Установка пакетов
- Шаг 3. Настройка службы XRDP
- Шаг 4. Поиск IP адреса
- Шаг 5. Проверка подключения
- Ошибка черный экран XRDP в Ubuntu
- Выводы
- Linux для подключения к терминальному серверу
- Установка Rdesktop
- Подключение к серверу
- Обмен файлами между Windows и Linux в рамках сеанса rdp
- Создание простой кнопки запуска
- Приложение для работы с RDP
Установка XRDP в Ubuntu 20.04
В настоящее время существует множество вариантов удалённого подключения к рабочим местам. Кроме того, стоимость аренды виртуальной машины хорошей производительности в облаке в месяц, сопоставима с ценой кружки хорошего кофе. Такие удалённые виртуальные машины удобно использовать с офисных слабых компьютеров, из поездок с ноутбуком и слабым Интернет-соединением, запускать на них длительные задачи, как например перепроведение документов в 1С, скачивание больших файлов.
Ещё можно организовать общий сервер на базе Ubuntu 20.04 в облаке или на мощном компьютере и совместно использовать его ресурсы с помощью удалённого доступа. В этой статье мы рассмотрим как выполняется установка XRDP Ubuntu 20.04.
Что такое XRDP
XRDP – это реализация протокола удалённого рабочего стола Microsoft (RDP) с открытым исходным кодом, которая позволяет графически управлять удалённой системой.
В отличие от коммерческого продукта, XRDP в Linux позволяет работать одновременно с одним компьютером или виртуальной машиной неограниченному числу пользователей, что позволяет активно использовать XRDP для разворачивания терминальных серверов на базе Ubuntu 20.04.
Установка XRDP на Ubuntu 20.04
Шаг 1. Поиск пакета
В Ubuntu 20.04 можно получить установить программу с помощью утилиты apt. Давайте установим XRDP из репозитория Ubuntu 20.04. Для этого, с помощью терминала, вы можете проверить, есть ли пакет xrdp в хранилище пакетов Ubuntu 20.04:
Шаг 2. Обновление системы
Такой пакет есть, поэтому вы можете, предварительно обновив систему, простым путём установить xrdp на Ubuntu 20.04. Обновляем и перезагружаем для принятия изменений в ОС:
sudo apt –y update && sudo apt –y upgrade && sudo reboot
Шаг 3. Установка пакетов
После перезагрузки можно устанавливать XRDP из репозитория Ubuntu 20.04
Обращаю внимание, что при установке генерируется сертификат, который необходим для функционирования RDP протокола, строка ниже указывает, что сертификат успешно создан:
Шаг 3. Настройка службы XRDP
В связи с особенностями системы Ubuntu 20.04, необходимо ввести пользователя xrdp, от имени которого работает XRDP в системе, в группу ssl-cert. Выполните команду:
sudo adduser xrdp ssl-cert
Затем добавьте службу xrdp в автозапуск и перезапустите её для применения изменений:
sudo systemctl enable xrdp
sudo systemctl restart xrdp
sudo systemctl status xrdp
Если результат выполнения команды выглядит так, как на скриншоте, то все прошло успешно. В финале предоставьте доступ из внешней сети к порту 3389 в файрволле Ubuntu 20.04:
sudo ufw allow from 192.168.2.0/24 to any port 3389
Шаг 4. Поиск IP адреса
С помощью любого клиента RDP можно подключаться по имени компьютера, возможно для этого нужно дополнительно настроить DNS. Лучше получить доступ по IP-адресу сервера, на котором установлен XRDP. Чтобы узнать IP-адрес, необходимо в терминале ввести команду:
На моём скриншоте обведён IP-адрес виртуальной машины с Ubuntu 20.04, который автоматически присвоен сетевому интерфейсу eth1. Сетевых интерфейсов может быть несколько, у каждого из них могут быть свои IP-адреса, к которым так же можно подключаться по RDP.
Шаг 5. Проверка подключения
Стандартный клиент RDP для Windows называется Подключение к удалённому рабочему столу . В нем необходимо ввести IP-адрес или имя сервера, можно указать логин и пароль для входа в удалённую машину, настроить различные параметры взаимодействия.
На скриншоте ниже можно видеть окно для входа Xorg, куда требуется ввести логин, в моем случае user и пароль, в моем случае 1. Для смены раскладки клавиатуры в Ubuntu 20.04 используется комбинация клавиш Super+Пробел (с моей клавиатуры клавиши Windows + Пробел). Если в окне раскладка не меняется, и вводится пароль не на том языке, то необходимо отключить клиент RDP, закрыть его, поменять язык в Windows на нужный и снова подключиться к удалённой машине.
Настройка XRDP Ubuntu 20.04 практически завершена.
Ошибка черный экран XRDP в Ubuntu
Для исправления такой ошибки необходимо внести изменение в файл, расположенный в папке /etc/xrdp, запускающий каждую сессию удалённого доступа XRDP с именем startwm.sh:
Внесите изменения в файле startwm.sh:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
test –x /etc/X11/Xsession && exec /etc/X11/Xsession
как показано на скриншоте. Это обнуляет системные переменные, сформированные предыдущими сеансами. В результате, мы избавляемся от чёрного экрана при подключении по RDP к Ubuntu 20.04
После внесения изменений необходимо перезапустить службу XRDP:
sudo systemctl restart xrdp
И можно выполнить подключение к Ubuntu по RDP:
Выводы
Сегодня мы выяснили как подключиться к Ubuntu по RDP и настроить XRDP сервер. Клиенты RDP существуют для любого устройства: телефона, планшета, ноутбука, любого компьютера. Местонахождение этой виртуальной или реальной машины с Ubuntu 20.04 теперь не играет никакой роли, лишь бы был доступ к ней через интернет и установлен и настроен XRDP.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Linux для подключения к терминальному серверу
Для подключения с терминальному серверу по протоколу RDP используется клиент из проекта rdesktop.
Работа клиента rdesktop основана на протоколе RDP (Remote Desktop Protocol) — проприетарном протоколе Microsoft, используемом для удаленного доступа к рабочему столу Windows.
Установка Rdesktop
rdesktop — это консольная утилита, а значит для ее работы вам потребуется открыть окно терминала. Вы так же можете установить готовые клиенты с графической оболочкой под ваш Linux, но в рамках этой статьи, мы рассмотрим именно консольный вариант, так как он в будущем позволит вам воспользоваться функцией бесшовных окон. В открывшемся окне терминала введите команду:
Если вы получили сообщение о том, что команда не найдена, то это означает. что по умолчанию у вас не установлена эта утилита и вам придется ее установить. Для Debian-based дистрибутивов (Ubuntu, Linux Mint) команда установки rdesktop будет выглядеть так:
Переключаемся с правами root и вводим команду
Подключение к серверу
rdesktop -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP
- -z включает сжатие потока
- -P кэширование
- -g задает геометрию окна. Вместо -g можно использовать ключ -f, тогда удаленный рабочий стол будет работать в полноэкранном режиме
- -u имя пользователя на сервере
- -p пароль
Следует оговориться — задание пароля в явном виде в качестве опции для rdesktop не является безопасным, так как он может быть просмотрен другими пользователями с помощью команды ps. Поэтому, если компьютер может быть доступен другим пользователям (локальным или удаленным), эту опцию лучше не указывать, тогда пароль нужно будет вводить после установления сессии.
Обмен файлами между Windows и Linux в рамках сеанса rdp
Не редко требуется настроить возможность обмена файлами между локальным и удаленным компьютером, так как стандартная функция Drag and Drop не поддерживается. В этом случае можно при помощи опции «-r disk:= » подключить любую локальную папку как диск Windows, который можно будет увидеть в проводнике Windows. Например:
rdesktop -r disk:share=/home/documents -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP
В результате, после успешного соединения, вам будет подключена папка /home/documents в качестве диска «share» на стороне Windows. Вы сможете читать и записывать файлы.
Следует помнить, что владельцем подключаемой папки должен быть тот пользователь, от лица которого запускается rdp client. Иначе (запуская rdesktop от лица, например, root) вы не сможете потом получить доступ к записанным файлам, пока не установите правильного владельца.
Если это произошло, воспользуйтесь командой chown для смены владельца и группы:
chown -R /home/documents USERNAME:USERGROUP
Создание простой кнопки запуска
Чтобы каждый раз не открывать консоль и не вводить команды с кучей опций, можно сделать кнопку запуска, кликнув по которой вы можете запустить требуемый сеанс.
Для этого нужно поместить команду целиком в текстовый файл в нужном месте (на Рабочий Стол, или любую другую папку), добавить одну строчку до нее и сделать файл исполняемым. Так, используя пример из первой части делаем такой текстовый файл такого содержания:
#!/bin/bash
rdesktop -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP
И делаем его исполняемым (из консоли):
chmod +x PATH_TO_MY_TEXT_FILE
Список всех опций rdesktop с их описанием вы можете посмотреть здесь.
Приложение для работы с RDP
Если вы не хотите подключаться с использованием консоли, то вы можете воспользоваться готовыми решениями, например Thincast RDP client.
ThincastRemote Desktop Client — позволяет работать не только в режиме рабочего стола, но и в режиме бесшовных окон.