Удалённый рабочий стол в Ubuntu
Введение | |
Установка | |
Проверить статус | |
Перезапуск xrdp | |
Клиенты: xfreerdp, remmina | |
Ошибки | |
Похожие статьи |
Введение
xrdp-это бесплатная и открытая реализация сервера Microsoft RDP (Remote Desktop Protocol),
которая позволяет операционным системам, отличным от
Microsoft Windows
(таким как
Linux
и
операционные системы в стиле
BSD
), обеспечить полностью функциональный RDP-совместимый
удаленный рабочий стол.
Он работает путем соединения графики из системы X Window с клиентом и ретрансляции элементов
управления из клиента обратно в
X
.
По словам разработчиков, протокол работает с rdesktop, FreeRDP и собственным
клиентом удаленного рабочего стола Microsoft
Установка
Чтобы пользоваться xrdp нужно сперва установить X-сервер . Например, Gnome или Xfce.
Установить Gnome:
sudo apt -y update
sudo apt -y install ubuntu-desktop
Установить xfce:
sudo apt update
sudo apt install xubuntu-desktop
sudo apt -y install xrdp
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: xorgxrdp Suggested packages: guacamole xrdp-pulseaudio-installer The following NEW packages will be installed: xorgxrdp xrdp 0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. Need to get 488 kB of archives. After this operation, 3,212 kB of additional disk space will be used. Do you want to continue? [Y/n]
Y
Проверить статус
sudo systemctl status xrdp
● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2021-01-19 15:21:51 Sat 2024-09-21 02:46:19 EET; 1min ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 188751 (xrdp) Tasks: 1 (limit: 38009) Memory: 1.9M CGroup: /system.slice/xrdp.service └─188751 /usr/sbin/xrdp Jan 17 15:21:50 andrei xrdp[188750]: (188750)(139708266788672)[INFO ] address [0.0.0.0] port [3389] mode 1 Jan 17 15:21:50 andrei xrdp[188750]: (188750)(139708266788672)[INFO ] listening to port 3389 on 0.0.0.0 Jan 17 15:21:50 andrei xrdp[188750]: (188750)(139708266788672)[INFO ] xrdp_listen_pp done Jan 17 15:21:50 andrei xrdp[188750]: (188750)(139708266788672)[DEBUG] Closed socket 7 (AF_INET6 :: port 3389) Jan 17 15:21:50 andrei systemd[1]: xrdp.service: Can't open PID file /run/xrdp/xrdp.pid (yet?) after start: Operation > Jan 17 15:21:51 andrei systemd[1]: Started xrdp daemon. Jan 17 15:21:52 andrei xrdp[188751]: (188751)(139708266788672)[INFO ] starting xrdp with pid 188751 Jan 17 15:21:52 andrei xrdp[188751]: (188751)(139708266788672)[INFO ] address [0.0.0.0] port [3389] mode 1 Jan 17 15:21:52 andrei xrdp[188751]: (188751)(139708266788672)[INFO ] listening to port 3389 on 0.0.0.0 Jan 17 15:21:52 andrei xrdp[188751]: (188751)(139708266788672)[INFO ] xrdp_listen_pp done
Перезапуск xrdp
sudo systemctl restart xrdp
Клиенты
Статья с подробным руководством по FreeRDP -
«xfreerdp в Ubuntu»
Мануал со всеми командами
здесь
Remmina
sudo apt install remmina
Популярный клиент не только для XRDP но и для VNC и других протоколов. Подробности об установке и использовании здесь
Ошибки
Cannot read private key file /etc/xrdp/key.pem: Permission denied
Вы выполнили
sudo systemctl status xrdp
И получили ошибку
Cannot read private key file /etc/xrdp/key.pem: Permission denied
Выполните
ls -la /etc/xrdp/
total 332 drwxr-xr-x 3 root root 4096 Jan 19 15:21 . drwxr-xr-x 142 root root 12288 Feb 4 13:51 .. lrwxrwxrwx 1 root root 36 Jan 19 15:21 cert.pem -> /etc/ssl/certs/ssl-cert-snakeoil.pem lrwxrwxrwx 1 root root 38 Jan 19 15:21 key.pem -> /etc/ssl/private/ssl-cert-snakeoil.key …
lrwxrwxrwx говорит нам о том, что у этого файла никаких ограничений нет, но тип этого файла это ссылка поэтому переходим туда, куда он указывает
sudo -i ls -la /etc/ssl/private/
total 12 drwx--x--- 2 root ssl-cert 4096 Dec 11 14:51 . drwxr-xr-x 4 root root 4096 Dec 11 15:12 .. -rw-r----- 1 root ssl-cert 1708 Dec 11 14:51 ssl-cert-snakeoil.key
-rw-r----- означает что владелец файла может читать и записывать, а члены группы могут читать.
Группа называется ssl-cert
Добавим xrdp в эту группу и проверим
sudo usermod -G ssl-cert xrdp
groups xrdp
xrdp : xrdp ssl-cert
Теперь xrdp член группы ssl-cert и должен иметь право читать файл ssl-cert-snakeoil.key
sudo systemctl restart xrdp