В статье рассказано о том, как настроить подключение к Linux через протокол RDP (Remote Desktop Protocol).
RDP — это наиболее распространённый протокол для удаленной работы (или администрирования ПК), при котором экран компьютера отображается на удалённом ПК, управление с мыши и клавиатуры. RDP может использоваться между ПК с различными ОС — как Windows, так и Linux.
Следующий гайд был написан по итогам успешной установки и запуска RDP сервера под Linux Runtu (Description: Ubuntu 20.04.3 LTS) и Linux Mint «Uma» Description: Linux Mint 20.2).
Установка и настройка RDP в Linux
-
Если до этого предпринимались неудачные попытки настройки xrdp, прежде всего нужно удалить пакеты xrdp и xorgrdp и их настройки, чтобы выполнить установку с чистого листа.
sudo apt-get purge xrdp xorgxrdp -
Вначале нужно выполнить обновление версий пакетов:
sudo apt-get update & sudo apt-get upgrade & sudo apt-get dist-upgrade -
Если операционная система Ubuntu Linux 16.04 или 18.04, либо 20.04 или 21.04, для установки xrdp советую воспользоваться готовым скриптом с сайта
https://c-nergy.be/downloads/xRDP/xrdp-installer-1.4.zip — скачать архив и извлечь скрипт.
Документация по программе «xrdp-installer» находится по адресу https://c-nergy.be/blog/?p=17810, а также в самой программе выводится краткая справка о возможных параметрах её вызова, при запуске sh-файла с ключом —help:
bash xrdp-installer-1.4.sh --help
Для запуска вводить команду sudo не нужно, когда надо она запросит пароль su. Запуск, например, так:
chmod +x xrdp-installer-1.4.sh
./xrdp-installer-1.4.sh
И затем перейти к разделам ОКОНЧАТЕЛЬНАЯ НАСТРОЙКА XRDP и «Диагностика«.
Если операционная система не принадлежит к перечисленным, путь установки длиннее.
sudo apt-get install x-window-system xserver-xorg xserver-xorg-core
sudo apt-get install xserver-xorg-legacy
Выполняем реконфигурацию пакета
sudo apt-get install xserver-xorg-legacy
sudo dpkg-reconfigure xserver-xorg-legacy
окно для конфигурирования запуска Xorg:

в котором я выбрал последний пункт, дающий наибольшие права — «Кто угодно».
Данной командой производится запись в файл cat /etc/X11/Xwrapper.config:
allowed_users=anybody
Установка пакетов, необходимых для запуска xrdp:
sudo apt-get install libx11-dev libxfixes-dev libssl-dev libpam0g-dev libtool libjpeg-dev flex bison gettext autoconf libxml-parser-perl libfuse-dev xsltproc libxrandr-dev python3-libxml2 nasm fuse pkg-config git intltool checkinstall
Установка двух основных пакетов XRDP:
sudo apt-get install xrdp xorgxrdp xserver-xorg-input-all
Можно заметить, что программа установки создаст RSA ключ.
Чтобы операционная система могла прочитать этот ключ, нужно добавить пользователя xrdp в группу ssl-cert:
sudo adduser xrdp ssl-cert
Затем, нужно установить полностью графическую подсистему MESA и драйверы видеокарты. Зачем?
Дело в том, что имеет место цепочка: RDP client -> сеть -> Xrdp server -> Xsession -> Xorg -> MESA -> OpenGL Driver -> видеокарта
При отсутствии возможности запуска графического режима, RDP клиент также «отвалится» сразу после входа.
sudo apt-get install libgl1-mesa-dri libglew1.5-dev libglew-dev libgles2-mesa-dev libglm-dev mesa-utils-extra mesa-common-dev freeglut3 freeglut3-dev
Наконец, видеокарта должна поддерживать режим OpenGL версии 2.1 и выше и иметь установленный драйвер для Linux.
- Если старый компьютер — на чипсетах Interl 945 (под общим названием i915) — нужно установить модифицированный, сторонний драйвер, т.к. на штатных драйверах по умолчанию включается режим OpenGL 1.4, тогда как нужен 2.1. Иначе будут ошибки (см. ниже раздел «Ошибки»)
Если следующая команда выводит информацию, что OpenGL высокой версии, ничего делать не нужно:
glxinfo | grep OpenGL
Пример хорошая версия драйвера — равна 2.1 (обращаем внимание на строчку OpenGL version string:
OpenGL vendor string: Mesa Project
OpenGL renderer string: i915 (chipset: 945G)
OpenGL version string: 2.1 Mesa 21.3.0-devel (git-dfef775 2021-09-02 focal-oibaf-ppa)
OpenGL shading language version string: 1.20
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 21.3.0-devel (git-dfef775 2021-09-02 focal-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:
Если версия 1.4 старая, которая не годится для XRDP, вывод команды glxinfo следующий:
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) 945G
OpenGL version string: 1.4 Mesa 21.0.3
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 21.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:
Старая версия драйвера с поддержкой OpenGL 1.4 (установленная по умолчанию из пакета «xserver-xorg-video-intel»). данная версия OpenGL 1.4 не подходит.
Устанавливаем новую версию драйвера (ТОЛЬКО ДЛЯ СТАРЫХ ЧИПСЕТОВ ВСТРОЕННОЙ ГРАФИКИ i915 — i925 — i945)
sudo add-apt-repository ppa:oibaf/graphics-drivers && sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade && sudo reboot
Данная команда обновит пакеты графического драйвера для встроенной графики Intel и выполнит перезагрузку.
P.S. Если потребуется в-дальнейшем удаление PPA-репозитория, например, после установки новой видеокарты, команда для удаления: sudo ppa-purge ppa:oibaf/graphics-drivers.
-
Разрешение подключения к X-серверу «для всех» — дано ранее командой sudo dpkg-reconfigure xserver-xorg-legacy
Конфигурация записана в файлsudo ls -l /etc/X11/Xwrapper.config
Если необходимо, можно посмотреть его содержимое или отредактировать
sudo nano /etc/X11/Xwrapper.config
- Примечание console — Xorg доступен только для пользователей из консоли, anybody для всех. По умолчанию указано console.
Подробнее см командуman Xwrapper.config.
- Настройка графики OpenGL (обязательно лишь для ПК старых чипсетов со встроенной графикой i915):
Вывод на экран модели графического адаптера:
lspci | grep VGA
Если графический адаптер — встроенная графика Intel чипсета 915 или 82945G переходим в каталог
cd /usr/share/X11/xorg.conf.d/
создаём файл 20-intel.conf:
sudo nano 20-intel.conf
и добавляем в него текст:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
Option "AccelMethod" "SNA"
Option "BackingStore" "true"
Option "DRI" "3"
EndSection
Вариант для старых ПК: в строке «AccelMethod» вместо стандартного метода ускорения графики «SNA» указать «uxa«.
Лучше использовать «SNA» — более современный метод встроенной графики x86. Где uxa — предыдущая архитектура.
Сохраняем и выходим Ctrl+O, Ctrl+X.
- Редактирование конфигурационного файла XRDP:
sudo nano /etc/xrdp/xrdp.ini
в середину файла после строки «background» добавить адрес по умолчанию для XRDP.
address=address=0.0.0.0

Перезапуск сервера:
sudo /etc/init.d/xrdp stop
sudo /etc/init.d/xrdp start
ОКОНЧАТЕЛЬНАЯ НАСТРОЙКА XRDP
-
Добавляем пользователя xrdp в группу tty и даём права на последовательный порт (для решения проблемы начала сессии Xorg, что ‘tty0 access denied’)
sudo usermod -a -G tty xrdp
sudo chmod g+r /dev/tty0 -
Разрешаем запуск сервиса «xrdp»
sudo systemctl start xrdp
sudo systemctl enable xrdp -
ВАЖНО: Копируем файл скрипт для запуска сессии и исправляем его
cp /etc/X11/xinit/xinitrc ~/.xinitrc
Узнаём тип установленной оболочки рабочего стола:
echo $XDG_CURRENT_DESKTOP
Если вывод команды пустой, попробовать
cat /etc/X11/default-display-manager
Редактируем файл ~/.xinitrc для запуска сеанса (сессии):
nano ~/.xinitrc
комментируем или удаляем строчку /etc/X11/Xsession, вместо неё пишем:
exec startlxde
или
exec openbox-session
- для ОС Runtu
или
exec startxfce4
для Linux Mint с оболочкой рабочего стола XFCE
или
exec startlxqt
для Lubuntu или Linux Mint с оболочкой рабочего стола LXQT (если такой вывод у команды
echo $XDG_CURRENT_DESKTOP).
Таким образом, файл .xinitrc в домашнем каталоге пользователя, запускаемый во время старта сеанса XRDP, принял следующий компактный вид:
#!/bin/sh
exec startlxqt
Примечание от 09.09.2021: В этот файл можно добавить запуск любых нужных программ, например, запуск сервера звука pulseaudio и загрузку и переключение национальной раскладки клавиатуры. Тогда файл .xinitrc примет вид:
#!/bin/sh
pulseaudio &
setxkbmap -layout 'us,ru' -option 'grp:ctrl_shift_toggle,grp_led:scroll' &
exec startlxqt
Примечание от 07.10.2021: данные команды нужно добавлять в файл ~/.xinitrc пользователя, который будет подключаться по протоколу RDP.
Содержимое файла ~/.xinitrc, если серверная ОС — Linux Mint с оболочкой XFCE:
#!/bin/sh
pulseaudio &
setxkbmap -layout 'us,ru' -option 'grp:alt_shift_toggle,grp_led:scroll' &
exec startxfce4
Когда рабочий стол сервера — LXQT, мой файл ~/.xinitrc следующий:
#!/bin/sh
pulseaudio &
setxkbmap -layout 'us,ru' -option 'grp:alt_shift_toggle,grp_led:scroll' &
exec startlxqt
И для OpenBox (Runtu Linux) работающий вариант файла ~/.xinitrc следующий:
#!/bin/sh
pulseaudio &
setxkbmap -layout 'us,ru' -option 'grp:ctrl_shift_toggle,grp_led:scroll' &
exec openbox-session
exec startlxde
Универсальный файл ~/.xinitrc для любых рабочих столов можно найти на stackoverflow (необходима установка slim).
Диагностика
Перезагружаем ПК, который выполняет роль сервера.
Проверяем с него же, что сервер Xorg запускается без ошибок:
sudo Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp
На этом этапе экран может погаснуть, если вы проверяете XRDP с того же ПК, на котором запущена начальная сессия Xorg. Нужно нажать Ctrl+Alt+F1 ввести имя и пароль, при помощи команды ps -aux | grep xrdp найти номер процесса «sudo xrdp» и завершить его командой «sudo kill <номер процесса>«.
В текстовом выводе результата этой команды будет содержаться причина ошибки.
Если же сообщение «(EE) Cannot establish any listening sockets — Make sure an X server isn’t already running(EE)»,
нужно перезагрузить ПК и повторить диагностику.
Второй вариант проверки — перед первым подключением к серверу XRDP, завершаем текущий сеанс «Пуск» — «Выйти» — «Выйти из системы». Так как клиент RDP не сможет создать второй сеанс такого же пользователя (с ошибкой в файле ~/.xorgxrdp.10.log: «(EE) Caught signal 11 (Segmentation fault). Server aborting»).
Либо, нужно создать второго пользователя для тестирования подключения к xRDP, которым будем подключаться по протоколу RDP:
sudo useradd -m ivanov-rdp
passwd ivanov-rdp
Ошибки xRDP сервера в Linux и их решения
Настройка брандмауэра
При невозможности подключения по протоколу RDP к серверу, прежде всего проверить открытие порта на FireWall:
sudo apt install nmap
sudo nmap 192.168.55.100 -p 3389
где вместо 192.168.55.100 укажите IP-адрес сервера в локальной сети.
Не забываем открыть локальный порт 3389 в firewall:
sudo ufw allow 3389
Если порт открыт, то вывод:
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Проблема «При подключении с клиента по RDP виден чёрный пустой экран»
На сервере не установлен пакет xorgxrdp — программная «прослойка» между xorg и rdp сервером, который отображает графику — Рабочий стол, указатель мыши и иконки.
Решение — установить на сервер пакет xorgxrdp:
sudo apt-get install xorgxrdp
sudo service xrdp restart
Сеанс xRDP теперь должен работать. Пробуем подключиться!
Примечание: Пакет «xorgxrdp — Remote Desktop Protocol (RDP) modules for X.org» входит в большинство дистрибутивов Debian, а также Ubuntu 18.04 «bionic», 20.04 LTS «focal», 21.04 «hirsute», 21.10 «impish», 22.04 LTS «jammy» (вышла 21.04.2022), и производных ОС на основе DEB-пакетной базы Ubuntu (таких как Runtu, Lubuntu, Xubuntu, Kubuntu и др.), а также дистрибутивы на основе RPM: Fedora, Arch и др.. Поэтому данная инструкция должна работать с множеством версий Linux.
Remmina RDP Client — подключение к серверу
sudo apt-get install remmina remmina-plugin-rdp remmina-plugin-secret
sudo reboot
remmina
Добавляем подключение — тип RDP.

Если VPN не используется, то в IP адрес вводим «белый» IP-адрес домашнего роутера.
При работе через VPN IP адрес относится к внутренней (локальной, домашней) сети.
Имя и пароль — такие же как при входе «с клавиатуры» на сервере.
Нижние кнопки окна Remmina на нетбуках с разрешением экрана 1024×600 пикселей могут быть обрезаны и видны частично.
«Отменить» — «Сохранить как значения по умолчанию» — «Сохранить» — «Подключиться» — «Сохранить и подключиться»
Нажимаем крайнюю правую кнопку «Сохранить и подключиться».
Различные проблемы
Журналы ошибок в системной каталоге /var/log/:
- xrdp.log
- xrdp-sesman.log
- Xorg.0.log, Xorg.10.log
Журналы ошибок в каталоге пользователя ~:
- ~/.xorgxrdp.10.log
Просмотреть их можно командами:
sudo cat /var/log/xrdp.log
sudo cat /var/log/xrdp-sesman.log
sudo cat /var/log/Xorg.0.log
sudo cat /var/log/Xorg.10.log
sudo cat ~/.xorgxrdp.log
Если при подключении с ПК под управлением Windows к ПК под управлением Linux после ввода имени пользователя пароля виден сине-зелёный однотонный фон без текста и иконок,
или в файле XRDP.LOG многочисленные ошибки, значит подключение произошло, но не запустилась графика Xorg — скорее всего из-за старой версии OpenGL, либо прав, см. выше.
Пример ошибки на стороне клиента при попытке подключения с помощью программы MSTSC.EXE:

Сообщения об ошибка в журнале XRDP.LOG на стороне сервера:

или аналогичная [DEBUG] Closed socket 17 (AF_UNIX)
Решение — диагностика командой с рабочего стола машины-сервера:
sudo Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp
Нужно добиться отсутствия ошибок Xorg в файле /var/log/Xorg.10.log.
Если при подключении с ПК под управлением Windows виден на мгновение чёрный экран, который тут же закрывается, один из вариантов:
- неправильной имя/пароль пользователя
- неправильный скрипт ~/.xinitrc (не запустилась сессия рабочего стола). Проверьте файл ~/.xinitrc на наличие команды exec <имя оболочки>.
- пользователь, которым вы подключаетесь к ПК удалённо, имеет открытую сессию в операционной системе локально (использует компьютер в данный момент).
Безопасность
Теперь любой ПК в локальной сети сможет подключаться к вашему компьютеру по протоколу RDP. Следует установить для учётной записи пользователя сложный пароль. Если подключение к ПК из Интернет — можно дополнительно использовать VPN с шифрованием трафика.
Дата последнего редактирования 25.04.2022
Похожие публикации
Я на компьютере с Windows 7 пытаюсь получить доступ к системе RHEL7 через удаленный рабочий стол Windows.
До сегодняшнего дня я (и другие в моем отделе) был в состоянии войти в систему RHEL, используя xrdp.
Сегодня внезапно xrdp начал отклонять соединения. Я вижу зеленый фоновый экран входа в систему, но он отклоняет учетные данные (и это нормально).
Я могу пропинговать сервер, подключиться через putty и использовать filezilla, но подключение к удаленному рабочему столу отклоняет вход в сеанс.
Я также попытался подключиться через удаленный рабочий стол к другому компьютеру CENTOS, и он работает нормально.
Есть идеи?
РЕДАКТИРОВАТЬ:
~/.xsession-errors :
gnome-session-is-accelerated: llvmpipe detected.
/var/log/xrdp.log:
[20171031-13:55:53] [DEBUG] TLSv1.2 enabled
[20171031-13:55:53] [DEBUG] TLSv1.1 enabled
[20171031-13:55:53] [DEBUG] TLSv1 enabled
[20171031-13:55:53] [DEBUG] Security layer: requested 3, selected 1
[20171031-13:55:53] [INFO ] connected client computer name: SPENATE7
[20171031-13:55:53] [INFO ] TLS connection established from 192.168.197.176 port 51321: TLSv1.2 with cipher AES256-GCM-SHA384
[20171031-13:55:53] [DEBUG] xrdp_00007c0e_wm_login_mode_event_00000001
[20171031-13:55:53] [INFO ] Loading keymap file /etc/xrdp/km-0000040a.ini
[20171031-13:55:53] [WARN ] local keymap file for 0x0000040a found and doesn't match built in keymap, using local keymap file
[20171031-13:55:58] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350
[20171031-13:55:59] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20171031-13:55:59] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20171031-13:55:59] [DEBUG] return value from xrdp_mm_connect 0
[20171031-13:56:05] [INFO ] xrdp_wm_log_msg: login failed for display 0
[20171031-13:56:05] [DEBUG] xrdp_mm_module_cleanup
[20171031-13:56:05] [DEBUG] Closed socket 18 (AF_INET 127.0.0.1:46890)
/var/log/xrdp-sesman.log :
[20171031-12:58:20] [ERROR] X server -- no display in range is available
[20171031-12:58:20] [DEBUG] Closed socket 8 (AF_INET 127.0.0.1:3350)
[20171031-13:01:28] [INFO ] shutting down sesman 1
[20171031-13:01:28] [DEBUG] Closed socket 7 (AF_INET 127.0.0.1:3350)
[20171031-13:01:29] [CORE ] shutting down log subsystem...
[20171031-13:01:29] [DEBUG] libscp initialized
[20171031-13:01:29] [INFO ] starting xrdp-sesman with pid 14292
[20171031-13:01:29] [INFO ] listening to port 3350 on 127.0.0.1
[20171031-13:01:41] [INFO ] A connection received from 127.0.0.1 port 35854
[20171031-13:01:41] [INFO ] ++ created session (access granted): username sanpen, ip 192.168.197.176:60904 - socket: 12
[20171031-13:01:41] [INFO ] starting Xvnc session...
[20171031-13:01:41] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:5910)
[20171031-13:01:41] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6010)
[20171031-13:01:42] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6210)
[20171031-13:01:42] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:5911)
[20171031-13:01:42] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6011)
[20171031-13:01:42] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6211)
This is my xrdp config:
[Globals]
ini_version=1
fork=true
port=3389
use_vsock=false
tcp_nodelay=true
tcp_keepalive=true
security_layer=negotiate
crypt_level=high
certificate=
key_file=
ssl_protocols=TLSv1.2, TLSv1.3
autorun=
allow_channels=true
allow_multimon=true
bitmap_cache=true
bitmap_compression=true
bulk_compression=true
max_bpp=128
use_compression=yes
new_cursors=true
use_fastpath=both
blue=009cb5
grey=dedede
ls_top_window_bg_color=009cb5
ls_width=350
ls_height=430
ls_bg_color=dedede
ls_logo_filename=
ls_logo_x_pos=55
ls_logo_y_pos=50
ls_label_x_pos=30
ls_label_width=65
ls_input_x_pos=110
ls_input_width=210
ls_input_y_pos=220
ls_btn_ok_x_pos=142
ls_btn_ok_y_pos=370
ls_btn_ok_width=85
ls_btn_ok_height=30
ls_btn_cancel_x_pos=237
ls_btn_cancel_y_pos=370
ls_btn_cancel_width=85
ls_btn_cancel_height=30
[Logging]
LogFile=xrdp.log
LogLevel=DEBUG
EnableSyslog=true
SyslogLevel=DEBUG
[Channels]
rdpdr=true
rdpsnd=true
drdynvc=true
cliprdr=true
rail=true
xrdpvr=true
tcutils=true
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20
I am trying to connect with mstsc to this machine (this is after fresh pc restart, noone has logged in):

while in this login box, no disconnect happens:

after I put there correct login/password, I get black screen first and then mstsc window closes. I tried to connect from KDE remote connection application, but it also failed same way. xrdp.log doesn’t seem to contain anything interesting:
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350
[20190606-04:14:36] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20190606-04:14:36] [DEBUG] return value from xrdp_mm_connect 0
[20190606-04:14:36] [INFO ] xrdp_wm_log_msg: login successful for display 10
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC started connecting
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC connecting to 127.0.0.1 5910
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC tcp connected
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC security level is 2 (1 = none, 2 = standard)
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC password ok
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending share flag
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving server init
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving pixel format
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving name length
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving name
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending pixel format
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending encodings
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending framebuffer update request
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending cursor
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC connection complete, connected ok
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: connected ok
[20190606-04:14:36] [DEBUG] xrdp_mm_connect_chansrv: chansrv connect successful
[20190606-04:14:36] [DEBUG] Closed socket 18 (AF_INET 127.0.0.1:47744)
[20190606-04:14:37] [DEBUG] Closed socket 20 (AF_UNIX)
[20190606-04:14:37] [DEBUG] Closed socket 12 (AF_INET 127.0.0.1:3389)
[20190606-04:14:37] [DEBUG] xrdp_mm_module_cleanup
[20190606-04:14:37] [DEBUG] VNC mod_exit
[20190606-04:14:37] [DEBUG] Closed socket 19 (AF_INET 127.0.0.1:40224)
How can I fix that?
asked Jun 5, 2019 at 21:18
3
Try this:
Stop xrdp with
sudo service xrdp stop
Edit the xrdp start script:
sudo nano /etc/xrdp/startwm.sh
In this file, replace the lines
test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession
with
startxfce4
(You can comment out lines by adding # at the start)
Restart xrdp with
sudo service xrdp start
Select Xrdp as the session, and log in.
answered Jan 20, 2021 at 21:26
![]()
The Bic PenThe Bic Pen
4034 silver badges6 bronze badges
5
I solved the issue myself, hopefully someone else will find it usefull. I took a look at ~/.xsession-errors, it contained:
(imsettings-check:16467): IMSettings-WARNING **: 04:42:56.491: Could not connect: Connection refused
(imsettings-check:16467): GLib-GIO-CRITICAL **: 04:42:56.491: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
GLib-GIO-Message: 04:42:56.807: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
** (process:16260): WARNING **: 04:42:56.824: Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME environment variable: Could not connect: Connection refused
and then I’ve googled a rootcause, miniconda installation has broken PATH in .bashrc file, I have removed this line and it has fixed it:
export PATH="/home/stiv/miniconda3/bin:$PATH"
UPDATE: Later I’ve found x2go, which works way more reliable and faster then XRDP.
answered Jun 5, 2019 at 21:48
stivstiv
1,3215 gold badges19 silver badges32 bronze badges
6
-
sudo apt-get update -
sudo apt install xrdp -
sudo apt-get install xserver-xorg-core -
sudo apt-get install xorgxrdp -
nano /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf -
Copy the polkit below to
02-allow-colord.conf
polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.color-manager.create-device" || action.id == "org.freedesktop.color-manager.create-profile" || action.id == "org.freedesktop.color-manager.delete-device" || action.id == "org.freedesktop.color-manager.delete-profile" || action.id == "org.freedesktop.color-manager.modify-device" || action.id == "org.freedesktop.color-manager.modify-profile") && subject.isInGroup("{group}"))
{
return polkit.Result.YES;
}
});
-
sudo ufw allow 3389/tcp -
sudo /etc/init.d/xrdp restart -
sudo systemctl status xrdp -
sudo systemctl enable xrdp -
Log out of your session.
-
Try with RDP
answered Dec 6, 2019 at 15:07
3
The user account you are trying this with, are they a member of the sudo or wheel groups? With Kali 2020 edition, any user that is apart of sudo will disconnect immediately, I had to kill all processes of that user ( pkill -u <username> ) and then delete the user account and recreate it. I am still tracking down the exact reason why this is occurring when I have time. But thought I share my experience.
![]()
αғsнιη
39.7k15 gold badges67 silver badges110 bronze badges
answered Dec 12, 2020 at 17:26
2
You must do following additional actions:
To Configure Xrdp, first add
exec gnome-session
to the end of the configuration file
/etc/xrdp/xrdp.ini
Or use following command to add “exec gnome-session” to the end of the “/etc/xrdp/xrdp.ini” configuration file
sudo bash -c 'echo "exec gnome-session" >> /etc/xrdp/xrdp.ini'
Restart xrdp to load the new configuration
sudo systemctl restart xrdp
Reference:
How to: Install Xrdp (Remote Desktop) on CentOS 8 – (How to: Use Windows to remote control CentOS 8)
answered May 2, 2021 at 9:51
1
I came across this issue trying to connect to a work machine running xrdp on red hat enterprise Linux 7. I had installed miniconda and datalad in its base environment in my home folder on the remote machine and that broke windows remote desktop. The solution was surprisingly simple. I uninstalled datalad and reinstalled it in a new environment via SSH. I was then able to reconnect to the machine via windows remote desktop without any issues.
answered Apr 27, 2021 at 18:02
I have spent many days over the past few years with the intermittent problems of accessing a Linux server from a Windows 10 PC. Different approaches to Server xrdp.ini modifications appear to straighten out the issue, but non permanently. After failing with fresh RHEL8 and Centos8 installs, all failing with a PC RDP logon, I observed the following common error. After a fail from the PC, the error, observed from a «semi» successful re-logon from the same PC was observable in systemctl status xrdp which presents the litany of the failed items.
However, when observed directly on the server itself using a screen, keyboard and mouse( I have the Dell R430 in next to me), the systemctl status xrdp, appears clean with no problems.
Each fresh logon to RDP, with Xvnc, apparently launches a separate rdp session/process.
The conclusion I have reached is that the problem is focused on the PC and somehow a SSL failure. It is persistent on the PC UNTIL IT IS rebooted.
The server does not require a restart.
Of course, REBOOTING the PC is impractical, but it is repeatedly successful.
answered Jun 1, 2021 at 14:18
I troubleshooted this too, and, it seems that just installing the xrdp package on it’s own is not enough, because (1) dependent packages will not get installed, (2) startwm.sh issues. I didn’t arrive at a perfect solution. I notice one of the other answers is using xfce4 which I would like to use to. In the end, I defaulted to something more lightweight, i.e. icewm, i.e.
sudo yum update
sudo yum install xrdp
sudo yum install tigervnc-server
sudo yum install xterm
sudo yum install icewm
sudo vi /usr/libexec/xrdp/startwm.sh
And, effectively, my startwm.sh script has the following at the top, i.e. I’ve circumvented or replaced the default behavior:
#!/bin/bash -xe
/bin/xterm &
exec /bin/icewm
answered Jul 20, 2021 at 23:08
![]()
This is my xrdp config:
[Globals]
ini_version=1
fork=true
port=3389
use_vsock=false
tcp_nodelay=true
tcp_keepalive=true
security_layer=negotiate
crypt_level=high
certificate=
key_file=
ssl_protocols=TLSv1.2, TLSv1.3
autorun=
allow_channels=true
allow_multimon=true
bitmap_cache=true
bitmap_compression=true
bulk_compression=true
max_bpp=128
use_compression=yes
new_cursors=true
use_fastpath=both
blue=009cb5
grey=dedede
ls_top_window_bg_color=009cb5
ls_width=350
ls_height=430
ls_bg_color=dedede
ls_logo_filename=
ls_logo_x_pos=55
ls_logo_y_pos=50
ls_label_x_pos=30
ls_label_width=65
ls_input_x_pos=110
ls_input_width=210
ls_input_y_pos=220
ls_btn_ok_x_pos=142
ls_btn_ok_y_pos=370
ls_btn_ok_width=85
ls_btn_ok_height=30
ls_btn_cancel_x_pos=237
ls_btn_cancel_y_pos=370
ls_btn_cancel_width=85
ls_btn_cancel_height=30
[Logging]
LogFile=xrdp.log
LogLevel=DEBUG
EnableSyslog=true
SyslogLevel=DEBUG
[Channels]
rdpdr=true
rdpsnd=true
drdynvc=true
cliprdr=true
rail=true
xrdpvr=true
tcutils=true
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20
I am trying to connect with mstsc to this machine (this is after fresh pc restart, noone has logged in):

while in this login box, no disconnect happens:

after I put there correct login/password, I get black screen first and then mstsc window closes. I tried to connect from KDE remote connection application, but it also failed same way. xrdp.log doesn’t seem to contain anything interesting:
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350
[20190606-04:14:36] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20190606-04:14:36] [DEBUG] return value from xrdp_mm_connect 0
[20190606-04:14:36] [INFO ] xrdp_wm_log_msg: login successful for display 10
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC started connecting
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC connecting to 127.0.0.1 5910
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC tcp connected
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC security level is 2 (1 = none, 2 = standard)
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC password ok
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending share flag
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving server init
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving pixel format
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving name length
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving name
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending pixel format
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending encodings
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending framebuffer update request
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending cursor
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC connection complete, connected ok
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: connected ok
[20190606-04:14:36] [DEBUG] xrdp_mm_connect_chansrv: chansrv connect successful
[20190606-04:14:36] [DEBUG] Closed socket 18 (AF_INET 127.0.0.1:47744)
[20190606-04:14:37] [DEBUG] Closed socket 20 (AF_UNIX)
[20190606-04:14:37] [DEBUG] Closed socket 12 (AF_INET 127.0.0.1:3389)
[20190606-04:14:37] [DEBUG] xrdp_mm_module_cleanup
[20190606-04:14:37] [DEBUG] VNC mod_exit
[20190606-04:14:37] [DEBUG] Closed socket 19 (AF_INET 127.0.0.1:40224)
How can I fix that?
asked Jun 5, 2019 at 21:18
3
Try this:
Stop xrdp with
sudo service xrdp stop
Edit the xrdp start script:
sudo nano /etc/xrdp/startwm.sh
In this file, replace the lines
test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession
with
startxfce4
(You can comment out lines by adding # at the start)
Restart xrdp with
sudo service xrdp start
Select Xrdp as the session, and log in.
answered Jan 20, 2021 at 21:26
![]()
The Bic PenThe Bic Pen
4034 silver badges6 bronze badges
5
I solved the issue myself, hopefully someone else will find it usefull. I took a look at ~/.xsession-errors, it contained:
(imsettings-check:16467): IMSettings-WARNING **: 04:42:56.491: Could not connect: Connection refused
(imsettings-check:16467): GLib-GIO-CRITICAL **: 04:42:56.491: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
GLib-GIO-Message: 04:42:56.807: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
** (process:16260): WARNING **: 04:42:56.824: Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME environment variable: Could not connect: Connection refused
and then I’ve googled a rootcause, miniconda installation has broken PATH in .bashrc file, I have removed this line and it has fixed it:
export PATH="/home/stiv/miniconda3/bin:$PATH"
UPDATE: Later I’ve found x2go, which works way more reliable and faster then XRDP.
answered Jun 5, 2019 at 21:48
stivstiv
1,3215 gold badges19 silver badges32 bronze badges
6
-
sudo apt-get update -
sudo apt install xrdp -
sudo apt-get install xserver-xorg-core -
sudo apt-get install xorgxrdp -
nano /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf -
Copy the polkit below to
02-allow-colord.conf
polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.color-manager.create-device" || action.id == "org.freedesktop.color-manager.create-profile" || action.id == "org.freedesktop.color-manager.delete-device" || action.id == "org.freedesktop.color-manager.delete-profile" || action.id == "org.freedesktop.color-manager.modify-device" || action.id == "org.freedesktop.color-manager.modify-profile") && subject.isInGroup("{group}"))
{
return polkit.Result.YES;
}
});
-
sudo ufw allow 3389/tcp -
sudo /etc/init.d/xrdp restart -
sudo systemctl status xrdp -
sudo systemctl enable xrdp -
Log out of your session.
-
Try with RDP
answered Dec 6, 2019 at 15:07
3
The user account you are trying this with, are they a member of the sudo or wheel groups? With Kali 2020 edition, any user that is apart of sudo will disconnect immediately, I had to kill all processes of that user ( pkill -u <username> ) and then delete the user account and recreate it. I am still tracking down the exact reason why this is occurring when I have time. But thought I share my experience.
![]()
αғsнιη
39.7k15 gold badges67 silver badges110 bronze badges
answered Dec 12, 2020 at 17:26
2
You must do following additional actions:
To Configure Xrdp, first add
exec gnome-session
to the end of the configuration file
/etc/xrdp/xrdp.ini
Or use following command to add “exec gnome-session” to the end of the “/etc/xrdp/xrdp.ini” configuration file
sudo bash -c 'echo "exec gnome-session" >> /etc/xrdp/xrdp.ini'
Restart xrdp to load the new configuration
sudo systemctl restart xrdp
Reference:
How to: Install Xrdp (Remote Desktop) on CentOS 8 – (How to: Use Windows to remote control CentOS 8)
answered May 2, 2021 at 9:51
1
I came across this issue trying to connect to a work machine running xrdp on red hat enterprise Linux 7. I had installed miniconda and datalad in its base environment in my home folder on the remote machine and that broke windows remote desktop. The solution was surprisingly simple. I uninstalled datalad and reinstalled it in a new environment via SSH. I was then able to reconnect to the machine via windows remote desktop without any issues.
answered Apr 27, 2021 at 18:02
I have spent many days over the past few years with the intermittent problems of accessing a Linux server from a Windows 10 PC. Different approaches to Server xrdp.ini modifications appear to straighten out the issue, but non permanently. After failing with fresh RHEL8 and Centos8 installs, all failing with a PC RDP logon, I observed the following common error. After a fail from the PC, the error, observed from a «semi» successful re-logon from the same PC was observable in systemctl status xrdp which presents the litany of the failed items.
However, when observed directly on the server itself using a screen, keyboard and mouse( I have the Dell R430 in next to me), the systemctl status xrdp, appears clean with no problems.
Each fresh logon to RDP, with Xvnc, apparently launches a separate rdp session/process.
The conclusion I have reached is that the problem is focused on the PC and somehow a SSL failure. It is persistent on the PC UNTIL IT IS rebooted.
The server does not require a restart.
Of course, REBOOTING the PC is impractical, but it is repeatedly successful.
answered Jun 1, 2021 at 14:18
I troubleshooted this too, and, it seems that just installing the xrdp package on it’s own is not enough, because (1) dependent packages will not get installed, (2) startwm.sh issues. I didn’t arrive at a perfect solution. I notice one of the other answers is using xfce4 which I would like to use to. In the end, I defaulted to something more lightweight, i.e. icewm, i.e.
sudo yum update
sudo yum install xrdp
sudo yum install tigervnc-server
sudo yum install xterm
sudo yum install icewm
sudo vi /usr/libexec/xrdp/startwm.sh
And, effectively, my startwm.sh script has the following at the top, i.e. I’ve circumvented or replaced the default behavior:
#!/bin/bash -xe
/bin/xterm &
exec /bin/icewm
answered Jul 20, 2021 at 23:08
![]()
Здравствуйте.
Установил Simply Linux 9, установил xrdp. Пытаюсь подключиться сам к себе на 127.0.0.1 ремминой.
Пользователь в группу tsusers добавлен.
С версии 0.9.14-alt5 файл /etc/pam.d/xrdp-sesman стал основан на правилах common-login. Второй сеанс systemd для одного и того же пользователя не удаётся запустить. Если это действительно надо, замените строку
Заменил, как указано выше.
При попытке подключения ввожу логин и пароль, появляется окно как на скриншоте. Нажимаю «Ок» и снова окно логин-пароль и так по кругу.
« Последнее редактирование: 30.12.2020 13:36:19 от Rik »

Записан
visual-t.ru Кросс-платформенные технологии визуальной разработки ПО.
Показанная ошибка никакого отношения к смене схемы PAM не имеет. Пользователя нужно в группу tsusers включить.

Записан
Андрей Черепанов (cas@)
Показанная ошибка никакого отношения к смене схемы PAM не имеет. Пользователя нужно в группу tsusers включить.
Команда id говорит что пользователь в tsusers есть.

Записан
visual-t.ru Кросс-платформенные технологии визуальной разработки ПО.

Записан
Андрей Черепанов (cas@)
У меня тоже «сам на себя» не заходит, с другой машины заходит во вторую удаленную сессию под этим же пользователем. Не совсем понятно зачем такой вход нужен. Возможно с конфигом xrdp сервера нужно по колдовать?

Записан
У меня тоже «сам на себя» не заходит, с другой машины заходит во вторую удаленную сессию под этим же пользователем. Не совсем понятно зачем такой вход нужен. Возможно с конфигом xrdp сервера нужно по колдовать?
На 8.2 сам на себя заходит. Я для проверки работоспособности пробовал. Ещё пробовал через реммину заходить на терминал Windows и с него уже обратно на свой, тоже не заходит.

Записан
visual-t.ru Кросс-платформенные технологии визуальной разработки ПО.
Меняйте в pam common-login на system-auth.

Записан
Андрей Черепанов (cas@)
Решил ещё раз с начала всё начать, переустановил, обновил, поставил xrdp, в pam common-login поменял на system-auth.
Заработало!
В первый раз все делал так-же, почему не работало, не понятно.
Ещё бы сделать так, чтобы при подключении по rdp попадать в работающую локальную сессию. Параметр fork=true/false ни как не влияет.

Записан
visual-t.ru Кросс-платформенные технологии визуальной разработки ПО.
Она и так попадает в работающий сеанс xrdp.

Записан
Андрей Черепанов (cas@)
Hi @matt335672, thanks for the reply. I did see some info regarding being logged in at the console. I tried logging out, and also following the wiki entry, but I’m still having the same issue. I then did what you asked, and here are the results:
date: Wed Jun 17 15:55:36 EDT 2020
Tried logging in over RDP, then here are the results of the command:
-- Logs begin at Wed 2020-04-01 13:23:43 EDT, end at Wed 2020-06-17 15:57:17 EDT. --
Jun 17 15:55:40 ubuntu dbus-daemon[17287]: [session uid=122 pid=17285] Activating service name='org.freedesktop.Noti>
Jun 17 15:55:40 ubuntu dbus-daemon[17287]: [session uid=122 pid=17285] Activating service name='org.xfce.Xfconf' req>
Jun 17 15:55:40 ubuntu dbus-daemon[17287]: [session uid=122 pid=17285] Successfully activated service 'org.xfce.Xfco>
Jun 17 15:55:40 ubuntu dbus-daemon[17287]: [session uid=122 pid=17285] Successfully activated service 'org.freedeskt>
Jun 17 15:55:41 ubuntu xrdp[1389]: (1389)(281473264242704)[INFO ] Socket 12: AF_INET6 connection received from ::fff>
Jun 17 15:55:41 ubuntu xrdp[1389]: (1389)(281473264242704)[DEBUG] Closed socket 12 (AF_INET6 ::ffff:192.168.1.226 po>
Jun 17 15:55:41 ubuntu xrdp[18426]: (18426)(281473264242704)[DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
Jun 17 15:55:41 ubuntu xrdp[18426]: (18426)(281473264242704)[INFO ] Using default X.509 certificate: /etc/xrdp/cert.>
Jun 17 15:55:41 ubuntu xrdp[18426]: (18426)(281473264242704)[INFO ] Using default X.509 key file: /etc/xrdp/key.pem
Jun 17 15:55:41 ubuntu xrdp[18426]: (18426)(281473264242704)[ERROR] Cannot read private key file /etc/xrdp/key.pem: >
Jun 17 15:55:41 ubuntu xrdp[18426]: (18426)(281473264242704)[DEBUG] TLSv1.3 enabled
Jun 17 15:55:41 ubuntu xrdp[18426]: (18426)(281473264242704)[DEBUG] TLSv1.2 enabled
Jun 17 15:55:41 ubuntu xrdp[18426]: (18426)(281473264242704)[DEBUG] Security layer: requested 11, selected 0
Jun 17 15:55:41 ubuntu xrdp[18426]: (18426)(281473264242704)[DEBUG] Closed socket 12 (AF_INET6 ::ffff:192.168.1.226 >
Jun 17 15:55:42 ubuntu xrdp[1389]: (1389)(281473264242704)[INFO ] Socket 12: AF_INET6 connection received from ::fff>
Jun 17 15:55:42 ubuntu xrdp[1389]: (1389)(281473264242704)[DEBUG] Closed socket 12 (AF_INET6 ::ffff:192.168.1.226 po>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] Using default X.509 certificate: /etc/xrdp/cert.>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] Using default X.509 key file: /etc/xrdp/key.pem
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[ERROR] Cannot read private key file /etc/xrdp/key.pem: >
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] TLSv1.3 enabled
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] TLSv1.2 enabled
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] Security layer: requested 0, selected 0
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] connected client computer name: PAULRYZEN
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] adding channel item name rdpdr chan_id 1004 flag>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] adding channel item name rdpsnd chan_id 1005 fla>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] adding channel item name cliprdr chan_id 1006 fl>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] adding channel item name drdynvc chan_id 1007 fl>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] Non-TLS connection established from ::ffff:192.1>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] xrdp_000047fb_wm_login_mode_event_00000001
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[WARN ] local keymap file for 0x00000409 found and doesn>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0>
Jun 17 15:55:42 ubuntu xrdp-sesman[1353]: (1353)(281473614072064)[INFO ] A connection received from ::1 port 37930
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] xrdp_wm_log_msg: sesman connect ok
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] xrdp_wm_log_msg: sending login info to session m>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] return value from xrdp_mm_connect 0
Jun 17 15:55:42 ubuntu xrdp-sesman[1353]: pam_unix(xrdp-sesman:auth): Couldn't open /etc/securetty: No such file or >
Jun 17 15:55:42 ubuntu xrdp-sesman[1353]: pam_unix(xrdp-sesman:auth): Couldn't open /etc/securetty: No such file or >
Jun 17 15:55:42 ubuntu xrdp-sesman[1353]: (1353)(281473614072064)[INFO ] ++ created session (access granted): userna>
Jun 17 15:55:42 ubuntu xrdp-sesman[1353]: (1353)(281473614072064)[INFO ] starting Xorg session...
Jun 17 15:55:42 ubuntu xrdp-sesman[1353]: (1353)(281473614072064)[DEBUG] Closed socket 9 (AF_INET6 :: port 5910)
Jun 17 15:55:42 ubuntu xrdp-sesman[1353]: (1353)(281473614072064)[DEBUG] Closed socket 9 (AF_INET6 :: port 6010)
Jun 17 15:55:42 ubuntu xrdp-sesman[1353]: (1353)(281473614072064)[DEBUG] Closed socket 9 (AF_INET6 :: port 6210)
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] xrdp_wm_log_msg: login successful for display 10
Jun 17 15:55:42 ubuntu xrdp-sesman[1353]: (1353)(281473614072064)[DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
Jun 17 15:55:42 ubuntu xrdp-sesman[18428]: (18428)(281473614072064)[INFO ] calling auth_start_session from pid 18428
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] xrdp_wm_log_msg: started connecting
Jun 17 15:55:42 ubuntu xrdp-sesman[18428]: pam_unix(xrdp-sesman:session): session opened for user ubuntu by (uid=0)
Jun 17 15:55:42 ubuntu systemd-logind[1273]: New session c7 of user ubuntu.
Jun 17 15:55:42 ubuntu systemd[1]: Started Session c7 of user ubuntu.
Jun 17 15:55:42 ubuntu xrdp-sesman[18428]: (18428)(281473614072064)[DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
Jun 17 15:55:42 ubuntu xrdp-sesman[18428]: (18428)(281473614072064)[DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
Jun 17 15:55:42 ubuntu xrdp-sesman[18430]: (18430)(281473614072064)[INFO ] /usr/lib/xorg/Xorg :10 -auth .Xauthority >
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[INFO ] lib_mod_log_peer: xrdp_pid=18427 connected to X1>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] xrdp_wm_log_msg: connected ok
Jun 17 15:55:42 ubuntu xrdp-sesman[18428]: (18428)(281473614072064)[CORE ] waiting for window manager (pid 18429) to>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] xrdp_mm_connect_chansrv: chansrv connect success>
Jun 17 15:55:42 ubuntu xrdp[18427]: (18427)(281473264242704)[DEBUG] Closed socket 16 (AF_INET6 ::1 port 37930)
Jun 17 15:55:43 ubuntu dbus-daemon[18477]: [session uid=1000 pid=18475] AppArmor D-Bus mediation is enabled
В прошлой статье, я рассказал как развернуть XRDP, как подключиться к Ubuntu средствами RDP из среды windows или любой другой. Но о ужас! Вы можете столкнуться с пустым черным экраном вместо фона рабочего стола Ubuntu. Лично я столкнулся с данной проблемой. Ничего страшного!
«Достаточно одной таблэтки…»

Решение довольно простое. Откройте Ubuntu и отредактируйте /etc/xrdp/startwm.sh сценарий.
Для этого в терминале набираем:
$ sudo vim /etc/xrdp/startwm.sh (можете вместо «vim» использовать «nano«)

Теперь нам надо добавить пару строк перед test:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

Далее сохраняем, нажав ctrl+O и нажимаем ENTER. (если вы в NANO) В vim редакторе — :wq
(:Как запомнить: write to disk and quit)
Далее перезапускаем службу Xrdp:
$ sudo systemctl restart xrdp

Ну что! Теперь подключаемся заново!

Главное помнить пароль!
«―Пароль старый — «Черт побери!?
―Черт побери!
―А он точно с теплохода «Михаил Светлов»?
―Нам сообщили так.
―Теплоход через час уйдет!
―/* Выразительно выражается не по-нашему: пинто. пастуццо чачача трукаделло пиц!*/Заткнись!
―/* Еще более выразительно выражется: порко мадонна ди ум бесто перь бако кастелла де мембрано хемаро инчесо сарвело чец хан дураля! */ Простите, погорячился…
―Дальше следует непереводимая игра слов с использованием местных идиоматических выражений.»

Далее еще раз вводите пароль:

ииииииии.

Ура! Все работает! Можете приступать к работе!
«Как говорит наш дорогой шеф, «Куй железо не отходя от кассы»!»»

It’s not worth it — there is a better & less painful solution:
X11VNC
I spent at least 8 hours fighting the battle to connect from Windows 10 to Ubuntu 16 via xrpd and Windows rdp. I tried endless «solutions» that I found posted all over the web. I made progress, but never managed to fully solve it. Even if I had, though, it seems that this is weak setup anyway, because:
- You can’t use the Unity Desktop, so your rdp has connect you to a completely different OS UI than what you would use as the Ubuntu standard.
- You can’t be logged on already with that account. So if you were have a scenerio where sometimes you work directly on the Ubuntu machine, and sometimes you connect remotely, you’d have to be sure to log out to allow for that remote connection.
- From what’ve read, once you have this, you have also fight a battle to get a «re-connection» mechanism working to re-enter an rdp session you left.
- You have to manually enter credentials every time you log on. There is no way to save them on the client end and just connect instantly.
I’ve used a pile of different remote connection interfaces, and overall nothing beats the ease and quality of Windows RDP yet to my mind. A such, I was pretty fixated on using that. After fighting this long enough though, and finally throwing in the towel, I found that VNC pretty much works just as well in this context.
As I said initially, on the Ubuntu side I used «x11vnc». Refer to these directions for details on getting that fully setup:
How to setup x11vnc to access with graphical login screen?
On the Windows side, I used RealVNC Viewer: https://www.realvnc.com/en/connect/download/viewer/, which I already had installed and setup for a remote connection to a Mac on my LAN as well.
With this setup, I have NONE of the weaknesses outlined above. Further, in full screen mode, the display is just as good as it would be naturally. I see 0 lag, 0 blurring. I have a bi-directional clipboard working without any effort to get that…
In theory, you are supposed to be able to stack xrpd and x11vnc. See: http://c-nergy.be/blog/?p=5956
I tried that too, just to see if I could get it to work. I had no luck with that either. So I just said the hell with xrpd in the end, uninstalled it, and rolled back all the changes I made to my machine fighting with it (or least so of them).
Unless you have a major reason that you NEED RDP instead of VNC, I strongly recommend going this route I’ve described instead.
Вам понадобилось установить на свой сервер удаленный рабочий стол. Простейший вариант — xrdp. Но вот после установки и попытки соединения появляется ошибка: connecting to 127.0.0.1 5911 error — problem connecting.
Ошибка возникает из-за отсутствия пакета tigervnc-server, который не входит в зависимости при установке самого xrdp.

Пройдемся по всем шагам по порядку. У Вас стандартная установка CentOS 6 с рабочим столом GNOME. Устанавливаем xrdp со всеми зависимостями.
yum —y install xrdp
Далее установим потерявшийся пакет.
yum —y install tigervnc—server
Разрешим входящие соединения в iptables для xrdp.
iptables —A INPUT —p tcp —m tcp —dport 3389 —j ACCEPT
Включим свежеустановленный сервис и добавим его в автозагрузку.
service xrdp start
chkconfig —level 35 xrdp on
Теперь можно, например, в Windows 7, выбрав Подключение к удаленному рабочему столу, соединиться с сервером.

Или в терминале другого компьютера с Linux можно набрать следующую команду
rdesktop —g 1280×1024 192.168.1.244
где -g — параметр, задающий размер окна, открывающегося удаленного рабочего стола.
В обоих вариантах увидим приглашение для ввода логина и пароля.

И далее сам рабочий стол удаленного сервера CentOS 6.

Удаленный рабочий стол Xrdp error problem connecting
Содержание
- Как установить Xrdp на Ubuntu 20.04
- Предпосылки
- Шаг 1: Установите Xrdp на Ubuntu 20.04
- Установите Xrdp на Ubuntu
- Шаг 2: Настройка Xrdp на Ubuntu 20.04
- Шаг 3: Доступ к удаленному рабочему столу Ubuntu с помощью RDP клиента
- Как исправить черный экран XRDP в Ubuntu
- Заключение
- ubuntu xrdp удаленный рабочий стол
- Как настроить xRDP-сервер на Ubuntu 18.04
- Что такое xRDP?
- Установка и настройка
- Подключение к рабочему столу
- Установка XRDP в Ubuntu 20.04
- Что такое XRDP
- Установка XRDP на Ubuntu 20.04
- Шаг 1. Поиск пакета
- Шаг 2. Обновление системы
- Шаг 3. Установка пакетов
- Шаг 3. Настройка службы XRDP
- Шаг 4. Поиск IP адреса
- Шаг 5. Проверка подключения
- Ошибка черный экран XRDP в Ubuntu
- Выводы
- Удаленный рабочий стол Ubuntu
Как установить Xrdp на Ubuntu 20.04
Xrdp — это аналог протокола Microsoft Remote Desktop Protocol (RDP). Если xrdp установлен в системе Linux, пользователи могут удаленно получить доступ к рабочему столу Linux с помощью RDP-клиента. Все это я покажу в этой статье. Его можно совершенно бесплатно скачать и использовать.
Без лишних слов давайте давайте приступим к установке Xrdp на Ubuntu Desktop 20.04 и 18.04.
Предпосылки
В этом руководстве предполагается, что у вас уже установлена Ubuntu 20.04 или Ubuntu 18.04. Если у вас есть минимальная установка без графического интерфейса – то рекомендуется установить среду рабочего стола или GNOME.
Чтобы установить среду рабочего стола Ubuntu, выполните команду:
Шаг 1: Установите Xrdp на Ubuntu 20.04
Для начала запустите терминал и выполните следующую команду для установки Xrdp в вашу систему.
Установите Xrdp на Ubuntu
Служба Xrdp запускается автоматически после установки. Для проверки работоспособности сервиса XRDP, выполнив команду:
Данные которые вы видите на рисунке подтверждают, что сервис XRDP работает.
Шаг 2: Настройка Xrdp на Ubuntu 20.04
При установке Xrdp ключ SSL сертификата ssl-cert-snakeoil. key помещается в папку /etc/ssl/private/. Нам требуется добавить пользователя xrdp в группу ssl-cert, чтобы сделать файл читаемым для пользователя. Это можно сделать командой:
Xrdp прослушивает порт 3389 и если вы находитесь за брандмауэром UFW, то вам нужно открыть порт. Это делается для того чтобы разрешить входящий трафик от клиентов RDP. В этом примере я разрешу трафик на порт 3389 из всей моей подсети в систему Ubuntu.
$ sudo ufw allow from 192.168.2.0/24 to any port 3389
После этого требуется перезагрузить брандмауэр и проверить, открыт ли порт.
Шаг 3: Доступ к удаленному рабочему столу Ubuntu с помощью RDP клиента
На этом шаге мы попробуем подключится к системе Ubuntu из Windows 10. В этом нам поможет стандартный клиент удаленного рабочего стола (RDP). Но прежде чем продолжить, убедитесь что вы вышли из Ubuntu 20.04. Так как Xrdp поддерживает только один Xsession.
В окне которое требует проверку удаленной системы, игнорируйте ошибки сертификата и нажмите на кнопку «Далее«.
Проверка подлинности удаленной системы Ubuntu
На странице входа в систему Xrdp введите свои учетные данные и нажмите кнопку «Ok«.
Введите свои учетные данные для в хода в Ubuntu через RDP
Примечание: в этот момент Вы можете столкнуться с пустым черным экраном вместо фона рабочего стола Ubuntu. Лично я столкнулся с таким багом. После долгих мучений, я нашел вариант как исправить этот баг.
Как исправить черный экран XRDP в Ubuntu
Решение довольно простое. Откройте Ubuntu и отредактируйте /etc/xrdp/startwm.sh сценарий.
Добавьте эти строки непосредственно перед строками, которые тестируют и выполняют Xsession, как показано на скриншоте ниже.
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
Далее требуется сохранить файл и выйдите. Не забудьте перезапуститm службу Xrdp.
Затем повторно подключитесь. После первоначальной аутентификации вам потребуется пройти повторную аутентификацию, как показано на рисунке.
Аутентификация пользователя XRDP
Введите свои учетные данные и нажмите кнопку «аутентификация«.После проделанного в перейдете на экран стола удаленной системы Ubuntu.
Удаленный Доступ К Рабочему Столу Ubuntu
Заключение
Ну вот и все, в этой статье вы узнали Как установить Xrdp на Ubuntu 20.04. Это совсем не сложно и это может сделать даже новичок Linux. Если у вас что-то не получилось или вы нашли ошибку, оставьте комментарий.
Источник
ubuntu xrdp удаленный рабочий стол
Проблемы со стандартным удаленным рабочим столом в Ubuntu 18.04: отсутствует подключение, черный экран, выкидывает при подключении и/или сообщения, типа «Could not acquire name on session bus».
Настройка удаленного рабочего стола в Убунту — лечение:
Удаление xrdp:
# sudo apt-get remove xrdp
Перегрузились:
# sudo reboot
Обновились:
# sudo apt-get update
# sudo apt-get upgrade
Установка xrdp:
# sudo apt-get install xrdp
Ставим mate-core — это рабочая среда MATE Desktop:
# sudo apt-get install mate-core
Добавляем конфиг:
# sudo echo mate-session>
Если запущен файрволл — добавляем исключение, принимать подключения на порт 3389 (по-умолчанию):
# sudo ufw allow 3389/tcp
Перегружаем:
# sudo reboot
И пробуем пользоваться удаленным рабочим столом. Но, бывает иногда и так, что этих шагов оказывается недостаточно.
Тогда ищем файл /etc/xrdd/startwm.sh и в нем комментируем строки (вероятно, будут последними):
и вместо них добавляем другие две строчки:
unset DBUS_SESSION_BUS_ADDRESS
exec mate-session
И пробуем еще раз. Уже должно все работать.
Дополнение.
Кстати, желательно — сменить порт 3389 по-умолчанию. Для этого необходимо редактировать файл /etc/xrdp/xrdp.ini. Найти строчку:
и поменять 3389 на новое значение. И не забыть при этом:
# sudo ufw allow НОВЫЙ_НОМЕР_ПОРТА/tcp
Кроме того, если удаленный рабочий стол ubuntu находится в локалке дома или другом безопасном месте, то можно упростить себе задачу и в окне авторизации оставить себе — набирать только пароль, забив имя пользователя в конфиге /etc/xrdp/xrdp.ini в секции [Xorg]:
username=имя_пользователя
Если же к компьютеру с удаленным рабочим столом есть доступ из Интернет, то запоминать имя пользователя — не стоит, это небезопасно. Злоумышленнику труднее будет подбирать пару неизвестных (логин/пароль), чем одно неизвестное (только лишь один пароль).

ubuntu xrdp настройка удаленного рабочего стола mate-core
Источник
Как настроить xRDP-сервер на Ubuntu 18.04
В этой инструкции описано как настроить сервер xRDP для подключения к Ubuntu 18.04 с легковесным окружением Xfce по протоколу RDP. Это может быть очень удобно если вам нужно из Windows зайти на линукс систему используя графический интерфейс.
Что такое xRDP?
xRDP — это бесплатная реализация RDP (протокола удаленного рабочего стола) Microsoft с открытым исходным кодом, которая позволяет операционным системам, отличным от Microsoft Windows (таким как Linux и BSD), предоставлять полностью функциональный RDP-совместимый удаленный рабочий стол.


Установка и настройка
Подключитесь к вашему ubuntu серверу по протоколу SSH и выполните обновление системы:
sudo apt-get update
Установите и включите утилиту xRDP:
sudo apt-get install xrdp
sudo systemctl enable xrdp
sudo systemctl restart xrdp

Установите окружение xfce:
sudo apt-get install xfce4 xfce4-terminal
Откройте порт RDP для возможности удаленного подключения:
sudo ufw allow 3389/tcp
Перезагрузите xRDP сервер, чтобы изменения вступили в силу:
sudo /etc/init.d/xrdp restart
Подключение к рабочему столу
Если вы не знаете IP адрес Ubuntu сервера, его можно посмотреть введя команду:

В нашем случае это будет 10.0.0.2. Для подключения откройте приложение Windows Подключение к удаленному рабочему столу(mstsc.exe). Введите IP-адрес сервера и нажмите Подключить:

При подключении появится предупреждение безопасности. Нажмите Да:

В открывшемся окне в качестве сессии выборе Xorg, введите логин и пароль для пользователя, нажмите OK:

В результате произойдет подключение к рабочему столу.
Рабочий стол окружения Xfce:

Если при подключении к xrdp показывает черный экран необходимо зайти в папку /etc/xrdp, и внести изменения в файл startwm.sh.
sudo nano /etc/xrdp/startwm.sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
test –x /etc/X11/Xsession && exec /etc/X11/Xsession

После внесения изменений необходимо перезапустить службу XRDP:
sudo systemctl restart xrdp
Теперь можно снова запустить mstsc.exe и подключиться к нашему ubuntu серверу.
Источник
Установка 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:
sudo apt searh xrdp

Шаг 2. Обновление системы
Такой пакет есть, поэтому вы можете, предварительно обновив систему, простым путём установить xrdp на Ubuntu 20.04. Обновляем и перезагружаем для принятия изменений в ОС:
sudo apt –y update && sudo apt –y upgrade && sudo reboot

Шаг 3. Установка пакетов
После перезагрузки можно устанавливать XRDP из репозитория Ubuntu 20.04
sudo apt install xrdp
Обращаю внимание, что при установке генерируется сертификат, который необходим для функционирования RDP протокола, строка ниже указывает, что сертификат успешно создан:

Шаг 3. Настройка службы XRDP
В связи с особенностями системы Ubuntu 20.04, необходимо ввести пользователя xrdp, от имени которого работает XRDP в системе, в группу ssl-cert. Выполните команду:
sudo adduser xrdp ssl-cert
Затем добавьте службу xrdp в автозапуск и перезапустите её для применения изменений:
sudo systemct 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
sudo ufw allow 3389
Шаг 4. Поиск IP адреса
С помощью любого клиента RDP можно подключаться по имени компьютера, возможно для этого нужно дополнительно настроить DNS. Лучше получить доступ по IP-адресу сервера, на котором установлен XRDP. Чтобы узнать IP-адрес, необходимо в терминале ввести команду:

На моём скриншоте обведён IP-адрес виртуальной машины с Ubuntu 20.04, который автоматически присвоен сетевому интерфейсу eth1. Сетевых интерфейсов может быть несколько, у каждого из них могут быть свои IP-адреса, к которым так же можно подключаться по RDP.
Шаг 5. Проверка подключения
На скриншоте ниже можно видеть окно для входа 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 xrd
И можно выполнить подключение к Ubuntu по RDP:


Выводы
Сегодня мы выяснили как подключиться к Ubuntu по RDP и настроить XRDP сервер. Клиенты RDP существуют для любого устройства: телефона, планшета, ноутбука, любого компьютера. Местонахождение этой виртуальной или реальной машины с Ubuntu 20.04 теперь не играет никакой роли, лишь бы был доступ к ней через интернет и установлен и настроен XRDP.
Источник
Удаленный рабочий стол Ubuntu
Доброго времени суток дорогие читатели. Ранее я писал о подключении к удаленному рабочему столу Linux. В примере использовалось подключение рабочих столов KDE и XFCE. Сегодня рассмотрим как подключить удаленный рабочий стол Ubuntu который установлен в системе.
Подключиться к рабочему столу Ubuntu можно с использованием VNC либо RDP. Я выбрал второй, благодаря тому что RDP клиент установлен во всех WIndows системах он очень популярен. Для подключения к Ubuntu по RDP необходимо установить ПО XRDP.
Тестировать подключение к рабочему столу я буду на Ubuntu 20.04. Пакет XRDP также последний на данный момент.
Установка XRDP
Установка XRDP на Ubuntu делается командой
В процессе установки будет автоматически сгенерирован сертификат для шифрования RDP соединения.
Надпись ssl_gen_key_xrdp ok свидетельствует о том что процесс генерации сертификата прошел успешно.
Добавим сервис xrdp в автозагрузку
Проверим статус xrdp
Статус active говорит о том что сервис запущен и работает.
Настройка XRDP
Настроим брандмауэр
Необходимо открыть порт в брандмауэре. Давайте проверим включен ли он вообще
Если status указан inactive советую включить брандмауэр. Делается это командой
Только будьте осторожны если подключены удаленно, например по SSH, т.к. порт может быть закрыт.
По умолчанию протокол RDP использует порт 3389. Откроем данный порт используя брандмауэр UFW
Теперь любой клиент из подсети 172.16.169.0 сможет подключиться к Ubuntu используя протокол RDP.
Попросим брандмауэр перечитать правила доступа для применения настроек
Посмотрим статус UFW
Разрешим использовать сертификат
Добавим пользователя xrdp в группу ssl-cert для возможности использования ранее созданного сертификата.
Перезапустим xrdp чтобы применить изменения
Подключение к рабочему столу Ubuntu
Проверим подключение к рабочему столу Ubuntu используя встроенный в Windows клиент удаленного рабочего стола.
Для подключения нам потребуется имя сервера, либо IP адрес и логин/пароль для входа. Узнать IP адрес в Ubuntu можно так
Переходим к подключению. Запустим клиент удаленного рабочего стола, в Windows он называется: Подключение к удаленному рабочему столу. Вводим IP адрес и нажимаем Подключить
Система будет выводить предупреждения и возможно задавать вопросы, со всем соглашаемся. И в открывшемся окне вводим Username и Password от входа в Ubuntu.

Смена раскладки клавиатуры происходит клавишами Windows+Пробел. Если раскладка не меняется, необходимо закрыть окно Удаленного подключения, поменять раскладку и снова подключиться.
С большей долей вероятности при первом подключении будет черный экран. Как это исправить читаем далее.
Источник