Много разного написано про проблемы xRDP, но еще больше вопросов по xRDP на Debian, и вот решение всех проблем:
Если вы уже установили устаревшую версию xRDP из apt, то удалите ее:
sudo systemctl stop xrdp
sudo apt purge xrdp
sudo apt autoremove
sudo rm -rf /var/run/xrdp
sudo rm -rf /var/log/xrdp*
sudo rm -rf /etc/xrdp/
sudo rm /usr/sbin/xrdp /usr/sbin/xrdp-sesman
sudo find /usr/local -name "xrdp*" - поиск остатков
и перезагрузитесь (не обязательно):
sudo reboot
После перезагрузки, начните компиляцию и установку xRDP самой новой версии:
cd ~
sudo apt install git -y
git clone https://github.com/neutrinolabs/xrdp.git
cd xrdp
sudo ./scripts/install_xrdp_build_dependencies_with_apt.sh max
Если при установке зависимостей возникнут проблемы и какой-то незначительный пакет будет не найден, например:
Чтение списков пакетов…
Построение дерева зависимостей…
Чтение информации о состоянии…
E: Невозможно найти пакет libfdk-aac-dev
То установите пакеты зависимостей вручную:
sudo apt-get -yq --no-install-suggests --no-install-recommends install autoconf automake clang gcc g++ libtool make nasm pkg-config check libcmocka-dev libpam0g-dev libssl-dev libx11-dev libxrandr-dev libxfixes-dev libxkbfile-dev libfreetype-dev libfuse3-dev libjpeg-dev libmp3lame-dev libibus-1.0-dev libimlib2-dev libopus-dev libpixman-1-dev libx264-dev libopenh264-dev
sudo ./bootstrap
sudo ./configure --enable-fuse
sudo make
sudo make install
sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin
установите xrdp, как службу и перезапустите ее:
sudo systemctl enable xrdp
sudo systemctl restart xrdp
После установки xRDP установите окружение рабочего стола, например, LXDE. Это легкая среда и не тормозит так, как другие:
sudo apt update
sudo apt install lxde -y
И сразу, чтобы решить проблему с переключением языка в xRDP, откройте файл:
sudo nano /etc/xrdp/xrdp_keyboard.ini
в самом конце файла вставьте следующее:
[layouts_map_ru]
rdp_layout_us=ru,us
rdp_layout_ru=ru,us
[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru
Дополнительно, чтобы уменьшить торможение при подключении:
Откройте файл конфигурации xrdp:
sudo nano /etc/xrdp/xrdp.ini
установите кодировку utf8 для буфера обмена в самом начале файла:
[globals]
// остальные значения
use_utf8=true
уменьшите цветопередачу и включите сжатие:
bitmap_compression=true
bulk_compression=true
#hidelogwindow=true
max_bpp=24
Чтобы устранить проблему с требованием аутентификации для создания цветового профиля при использовании xrdp, можно настроить правило polkit:
sudo nano /etc/polkit-1/localauthority.conf.d/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("{users}")) { return polkit.Result.YES; } });
перезапустите службу xrdp:
sudo systemctl restart xrdp
Все сделали, но подключится по xRDP все еще невозможно? Установите XORG
29