- xrdp
- Настройки
- Подключение
- Дополнительно (MATE)
- Проброс звука
- Проброс USB-устройств
- Доступ доменных пользователей
- Локальные группы для доменных пользователей
- Повышение привилегий
- Производительность
- Решение проблем
- Общий подход
- Проблемы соединения с мобильным rdp-клиентом
- Проблема подключения с Windows XP
- Проблемы соединения с тонким клиентом Dell Wyse 3040
- Проблемы одновременного запуска локального и удалённого сеанса
- Процесс gvfsd-trash занимает 100% процессора
- Рабочий стол Mate в сеансе не показывает значки
- Если пользователь ранее не регистрировал локальный сеанс, то при подключении новым пользователем xrdp не создаёт окружение пользователя в /home
- Alt linux удаленное подключение
- Remmina
- Установка
- Запуск
- Использование
- Создание профиля подключения
- Создание подключения
xrdp
- Для доступа к терминальному сеансу — включить в группу tsusers:
Настройки
Настройки сервера хранятся в файле /etc/xrdp/sesman.ini . Некоторые настройки сервера установленные по умолчанию:
- AllowRootLogin=true — авторизация Root;
- MaxLoginRetry=4 — максимальное количество попыток подключения;
- TerminalServerUsers=tsusers — группа, в которую необходимо добавить пользователей для организации доступа к серверу;
- MaxSessions=50 — максимальное количество подключений к серверу;
- KillDisconnected=false — разрыв сеанса при отключении пользователя;
- FuseMountName=Mount_FOLDER — название монтируемой папки.
По умолчанию для подключения по RDP используется порт 3389. Номер порта можно изменить в файле /etc/xrdp/xrdp.ini .
Подключение
Для подключения можно использовать FreeRDP — клиент для подключения к удаленному рабочему столу по протоколу RDP.
Установить пакет xfreerdp :
xfreerdp [файл] [параметры] [/v:[:порт]]
Описание некоторых параметров:
- /v:[:порт] — IP-адрес или имя сервера;
- /u: — имя пользователя;
- /p: — пароль пользователя;
- /w: — ширина окна;
- /h: — высота окна;
- /f — полноэкранный режим;
- /size:x — размер окна;
- /drive:, — подключение каталога.
$ xfreerdp /drive:Epson,/home/cas/epson /v:10.4.129.129 /u:user /p:123
- Epson — название папки, которая будет показываться в каталоге thinclient_drives в домашней папке терминального пользователя, у локального пользователя пробрасывается папка /home/cas/epson;
- 10.4.129.129 — адрес терминального сервера;
- user — имя терминального пользователя;
- 123 — пароль терминального пользователя.
Если пользователь или пароль не указаны, появится окно входа:
Внимание! Избегайте одновременный сеансов RDP и обычных для одного и того же пользователя. Systemd не позволит полноценно работать в сеансе RDP.
Также для подключения можно использовать клиент Remmina, Connector или Krdc.
Примечание: В случае проблем с подключением дисков необходимо в настройках подключения в локальных ресурсах отключать галочку «Принтеры».
Примечание: Существует известная проблема с тем, что на странице авторизации не реализовано переключение раскладки клавиатуры. Поэтому при подключении с клиента Linux в настройках клиента следует установить раскладку «00000409 — United States — English«. Клиент Windows не содержит настройку раскладки клавиатуры. Перед подключением с помощью клиента Windows необходимо вначале перейти на раскладку, в которой вводится логин и пароль, как правило это EN.
Дополнительно (MATE)
Для использования сервером установленной графической оболочки MATE выполните следующее:
- Установите пакет mate-session .
# apt-get install mate-session
$ runwm --print default /usr/bin/mate-session
Проброс звука
Для прослушивания звука из терминального сеанса локально установите на терминальный сервер пакет pulseaudio-module-xrdp :
# apt-get install pulseaudio-module-xrdp
При использовании в качестве клиента xfreerdp добавьте параметр /sound:sys:pulse:
xfreerdp /v:10.4.4.17 /u:user /p:123 /sound:sys:pulse
Проброс USB-устройств
Для проброса USB-устройств на сервере необходимо установить пакет xrdp-usb-session :
# apt-get install xrdp-usb-session
Данный компонент пробрасывает широкий спектр устройств, начиная от USB-веб-камер, до USB-токенов и смарт-карт. Инструкция по использованию: Xrdp-usb
Внимание! Проброс будет работать только в рамках локальной сети, так как требует доступность клиентского компьютера с сервера
Доступ доменных пользователей
В раздел домена в файле /etc/sssd/sssd.conf необходимо указать ad_gpo_map_service = +xrdp-sesman:
[domain/TEST.ALT] . ad_gpo_map_service = +xrdp-sesman .
Иначе будет возникать ошибка:
pam_acct_mgmt failed: Permission denied
Локальные группы для доменных пользователей
Вариант с локальной группой для доменных пользователей не работает, поэтому для них работает отключение группы (или указание любой нелокальной, даже несуществующей):
После исправления файла запустите
# systemctl restart xrdp-sesman
Журнал для sesman (сеансов пользователей) находится в файле /var/log/xrdp-sesman.log .
Данная ситуация возникла потому, что в больших доменах показ всех членов группы нагружает систему, поэтому в /etc/sssd/sssd.conf по умолчанию используется значение enumerate = false.
Если в разделе домена в файле /etc/sssd/sssd.conf явно указать enumerate=true:
[domain/TEST.ALT] id_provider = ad auth_provider = ad chpass_provider = ad default_shell = /bin/bash fallback_homedir = /home/%d/%u debug_level = 0 enumerate = true
то в /etc/xrdp/sesman.ini можно указать
TerminalServerUsers=domain users
Не забудьте перезапустить службы sssd и xrdp-sesman.
Повышение привилегий
- consolehelper, beesu — ограничений нет;
- polkit — требует создание дополнительных правил для удалённых пользователей. Подробнее описано на https://github.com/neutrinolabs/xrdp/issues/1568#issuecomment-624727037
Производительность
Рекомендуется отключить эффекты рабочего стола. Можно установить пакеты:
Среда | Пакет |
MATE | mate-reduced-resource |
XFCE | xfce-reduced-resource |
Решение проблем
Общий подход
Первым делом обратите внимание на логи как сервера, так и сессии:
Например, такие строчки в последнем свидетельствуют о необходимости запроса пересборки xrdp с текущим xorg-server :
(EE) xorgxrdp: module ABI major version (23) doesn't match the server's version (24) (EE) Failed to load module "xorgxrdp" (module requirement mismatch, 0)
Проблемы соединения с мобильным rdp-клиентом
В некоторых мобильных rdp-клиентах, особенно предназначенных для работы на старых версиях Android, если выбрать режим «Воспроизведение звука на стороне клиента» (или аналогичный) возникает ошибка соединения.
Решается запретом воспроизведения звука в настройках клиента или изменением в /etc/xrdp/xrdp.ini в строке rdpsnd=true, значения true на false. При этом клиент лишается возможности воспроизводить звук, однако в остальном соединение работает.
Проблема подключения с Windows XP
Для подключения рабочих станций с Windows XP необходимо в файле /etc/xrdp/xrdp.ini добавить поддержку протокола TLSv1.1:
ssl_protocols=TLSv1.1, TLSv1.2, TLSv1.3
Эта поддержка была исключена из конфигурации по умолчанию в версии 0.9.8 (https://github.com/neutrinolabs/xrdp/releases/tag/v0.9.8).
Проблемы соединения с тонким клиентом Dell Wyse 3040
Для подключения тонких клиентов Dell Wyse 3040 в /etc/xrdp/xrdp.ini необходимо выключить звуковую поддержку:
Проблемы одновременного запуска локального и удалённого сеанса
С версии 0.9.14-alt5 файл /etc/pam.d/xrdp-sesman стал основан на правилах common-login. Второй сеанс systemd для одного и того же пользователя не удаётся запустить. Если это действительно надо, замените строку
session include common-login
session substack system-auth session required pam_loginuid.so session substack system-policy
Процесс gvfsd-trash занимает 100% процессора
Создайте раздел или файл подкачки. Например, по статье: Swap
Рабочий стол Mate в сеансе не показывает значки
Создайте файл /etc/xdg/autostart/caja-restart.desktop :
[Desktop Entry] Type=Application Name=Restart Caja in remote session Exec=dbus-launch caja --force-desktop
Замените строку в файле /usr/share/applications/caja.desktop
Exec=/usr/bin/caja --force-desktop
Чтобы избежать сообщение об ошибке получения имени сессии, в файл /etc/xrdp/startwm.sh добавьте следующие строки
unset DBUS_SESSION_BUS_ADDRESS exec mate-session
Если пользователь ранее не регистрировал локальный сеанс, то при подключении новым пользователем xrdp не создаёт окружение пользователя в /home
Данная ситуация характеризуется следующей ошибкой при попытке подключения новым пользователем по xrdp:
[ERROR] another Xserver might already be active on display 9 - see log [DEBUG] aborting connection.
Для решения этой проблемы необходимо добавить в конец файла /etc/pam.d/xrdp-sesman строки:
session required pam_env.so readenv=1 user_readenv=0 session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
Alt linux удаленное подключение
KRDC (Remote Desktop Connection) — клиентское приложение, которое позволяет просматривать и управлять сеансом на другом компьютере, где выполняется совместимый vnc или rdp-сервер.
Для запуска KRDC выберите Меню запуска приложений → Сеть → KRDC (Удалённый доступ к рабочему столу) .
KRDC — клиентское приложение, и его необходимо использовать с совместимыми серверами. Для подключения к серверу, достаточно выбрать в выпадающем списке протокол (vnc или rdp) и ввести имя сервера (или IP-адрес) в поле Подключиться к :
Перед подключением убедитесь, что целевой компьютер (сервер) доступен в сети и, при необходимости, его межсетевой экран правильно настроен или отключен.
В зависимости от конфигурации сервера может потребоваться ввести пароль для аутентификации на сервере.
После подключения к удалённому рабочему столу можно использовать KRDC для наблюдения или управления удаленным рабочим столом:
Подключившись к удаленному серверу, можно использовать клавиатуру и мышь для управления окнами и приложениями на этом удаленном компьютере.
Remmina
Remmina — программа-клиент удаленного рабочего стола. Remmina поддерживает протоколы RDP, VNC, NX, XDMCP, SPICE и SSH, что позволяет подключаться к рабочим столам как Windows, так и Linux. Список поддерживаемых протоколов можно расширить с помощью внешних модулей плагинов (plugins).
Установка
Дополнительные плагины находятся в пакетах с именами remmina-plugins-*. Их можно установить отдельно, или все вместе, установив пакет remmina-plugins :
# apt-get install remmina-plugins
Запуск
Запустить Remmina можно из «Меню запуска приложений» («Интернет/Сеть» → «Клиент удалённого рабочего стола Remmina») или из командной строки:
Можно добавить Remmina в автозапуск (командой remmina -i ), чтобы она появлялась запущенным апплетом в трее.
Использование
Создание профиля подключения
После запуска Remmina можно создавать профили удалённых подключений:
В окне «Новый профиль подключения» следует задать параметры соединения. Добавляемые для удаленного подключения компьютеры можно объединять в группы, например, по типу соединения или разновидности операционной системы.
Примечание: Если не заполнять поля «Имя пользователя» и «Пароль», то эти данные будут запрашиваться при каждом подключении к удалённому рабочему столу.
Примечание: Набор полей в окне «Новый профиль подключения» зависят от выбранного протокола соединения.
Создание подключения
Создать новое подключения можно, выбрав соответствующий профиль подключения в основном окне программы, или в контекстном меню в трее.
Также можно создать подключение, не создавая профиль. Пример создания подключения по протоколу SPICE:
- В выпадающем меню выбрать протокол SPICE, указать IP-адрес компьютера и порт на котором работает сервер SPICE.
- Нажать клавишу .
- Ввести пароль подключения и нажать кнопку «ОК».
Пример создания подключения из командной строки:
$ remmina -c spice://192.168.0.137:5910