Xrdp: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 10: Строка 10:
* Для доступа к терминальному сеансу — включить в группу '''tsusers'''
* Для доступа к терминальному сеансу — включить в группу '''tsusers'''
* Для проброса папки — включить в группу '''fuse'''
* Для проброса папки — включить в группу '''fuse'''
==Настройки==
Настройки сервера хранятся в файле '''/etc/xrdp/sesman.ini'''.
(воспользуйтесь поиском в текстовом редакторе, чтобы найти параметр)
*Максимальное количество подключений: '''MaxSessions'''
*Разрыв сеанса при отключении пользователя: '''KillDisconnected'''
*Авторизация Root: '''AllowRootLogin'''=false (true/false)
*Название монтируемой папки: '''FuseMountName'''=Mount_FOLDER


= Подключение =
= Подключение =
Строка 20: Строка 30:
* ''123'' — пароль терминального пользователя.
* ''123'' — пароль терминального пользователя.


Если пользователь или пароль не указаны, появится окно входа:
Если пользователь или пароль не указаны, появится окно входа.
 
Так же вы можете использовать клиент Remmina.
 
{{Note|В случае проблем с подключением дисков необходимо в настройках подключения в локальных ресурсах отключать галочку “Принтеры»}}
 
{{Note|При подключении через клиент Windowsна странице авторизации не получится переключить раскладку клавиатуры для требуемого языка ввода. В большинстве случаев по умолчанию стоит Русская раскладка а вводит надо на Английском.
 
Перед подключением с Windows необходимо вначале перейти на раскладку в которой вводится логин и пароль, как правило это EN.}}


= Дополнительно =
= Дополнительно =
Строка 30: Строка 48:
<source lang="text" highlight="1">$ runwm --print default
<source lang="text" highlight="1">$ runwm --print default
/usr/bin/mate-session</source>
/usr/bin/mate-session</source>


= Экран входа =
= Экран входа =

Версия от 22:21, 19 марта 2020

Первоначальная настройка сервера XRDP на сервере

  • Установить пакет xrdp.
 apt-get install xrdp
  • Включить сервисы:
 systemctl enable xrdp xrdp-sesman
 systemctl start xrdp xrdp-sesman

Права доступа пользователя:

  • Для доступа к терминальному сеансу — включить в группу tsusers
  • Для проброса папки — включить в группу fuse

Настройки

Настройки сервера хранятся в файле /etc/xrdp/sesman.ini.

(воспользуйтесь поиском в текстовом редакторе, чтобы найти параметр)

  • Максимальное количество подключений: MaxSessions
  • Разрыв сеанса при отключении пользователя: KillDisconnected
  • Авторизация Root: AllowRootLogin=false (true/false)
  • Название монтируемой папки: FuseMountName=Mount_FOLDER

Подключение

Пример:

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 — пароль терминального пользователя.

Если пользователь или пароль не указаны, появится окно входа.

Так же вы можете использовать клиент Remmina.

Примечание: В случае проблем с подключением дисков необходимо в настройках подключения в локальных ресурсах отключать галочку “Принтеры»


Примечание: При подключении через клиент Windowsна странице авторизации не получится переключить раскладку клавиатуры для требуемого языка ввода. В большинстве случаев по умолчанию стоит Русская раскладка а вводит надо на Английском. Перед подключением с Windows необходимо вначале перейти на раскладку в которой вводится логин и пароль, как правило это EN.


Дополнительно

Для использования сервером установленной графической оболочки MATE выполните следующее:

1. Установите пакет mate-session.

2. Убедитесь, что по умолчанию будет запускаться mate-session:

$ runwm --print default
/usr/bin/mate-session

Экран входа

Xrdp-login-screen.png

Проброс звука

Для прослушивания звука из терминального сеанса локально установите на терминальный сервер пакет 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

Доступ доменных пользователей

В раздел домена в файле /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

Локальные группы для доменных пользователей

Вариант с локальной группой для доменных пользователей не работает, поэтому для них работает отключение группы (или указание любой нелокальной, даже несуществующей):

В файле /etc/xrdp/sesman.ini

TerminalServerUsers=

После исправления файла запустите

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.

Решение проблем

Проблемы соединения с мобильным rdp-клиентом

В некоторых мобильных rdp-клиентах, особенно предназначенных для работы на старых версиях Android, если выбрать режим "Воспроизведение звука на стороне клиента"(Или аналогичный) возникает ошибка соединения.

Решается запретом воспроизведения звука в настройках клиента или изменением в 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 необходимо выключить звуковую поддержку:

rdpsnd=false