3.6.2.2 Дополнительная настройка xrdp-сервера
Скачать документ Решение проблемы с переключением языка клавиатуры при подключении из Windows
Проброс локального диска и принтера при подключении из Windows
Подключение на клиенте
Устранение ошибки при настройке удаленного доступа с Windows 7/XP на РЕД ОС
Аутентификация под доменным пользователем
Дополнительная настройка SELinux
Завершение всех процессов при выходе из сеанса
Оптимизация производительности
Автоматическое завершение сеанса пользователя, подключенного по xrdp
Автоматическое завершение всех графических сеансов пользователя
Окружение
- Версия РЕД ОС: 8
- Конфигурация: Рабочая станция
Вы можете подробнее ознакомиться с возможностью осуществления удаленного подключения на примере РЕД ОС 7.3, просмотрев наши обучающие видео:
на RuTube — Организация удаленного доступа с РЕД ОС на Windows;
в Яндекс.Дзен — Организация удаленного доступа с РЕД ОС на Windows;
в VK Видео — Организация удаленного доступа с РЕД ОС на Windows.
На наших каналах вы также сможете найти много другой полезной информации.
Решение проблемы с переключением языка клавиатуры при подключении из Windows
Откройте файл:
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
В данной конфигурации раскладка переключается сочетанием клавиш Alt+Shift.
Чтобы отключить определённый тип сессии (Xvnc или Xorg), закомментируйте в файле /etc/xrdp/xrdp.ini
соответствующий раздел: [Xvnc]
или [Xorg]
.
Для применения настроек перезагрузите сервер xrdp:
systemctl restart xrdp
Проброс локального диска и принтера при подключении из Windows
Для успешного подключения локального диска к удаленному рабочему столу необходимо убрать в настройках RDP-клиента галочку «Принтеры».
Проброс локального принтера текущей версией xrdp не поддерживается.
Подключение на клиенте
Для подключения из Windows используйте «Подключение к удаленному рабочему столу».
Для подключения из РЕД ОС используйте приложение «Remmina» («Главное меню» — «Интернет» — «Remmina»).
Выберите протокол RDP, впишите узел и нажмите клавишу Enter, чтобы подключиться.
Для подключения в открывшемся окне впишите имя пользователя и пароль.
Для применения настроек перезагрузите сервер xrdp:
systemctl restart xrdp
Устранение ошибки при настройке удаленного доступа с Windows 7/XP на РЕД ОС
При возникновении ошибки такого вида:
Откройте файл:
nano /etc/xrdp/xrdp.ini
Измените значение параметра security_layer:
security_layer=rdp
Для применения настроек перезагрузите сервер xrdp:
systemctl restart xrdp
Аутентификация под доменным пользователем
Для разрешения аутентификации доменных пользователей требуется изменить файл:
nano /etc/xrdp/sesman.ini
Закомментировав следующие строки:
#TerminalServerUsers=tsusers
#TerminalServerAdmins=tsadmins
Перезапустите сервер:
systemctl restart xrdp
Чтобы разрешить определенным доменным пользователям доступ к RDP-серверу, необходимо создать локальную в группу tsusers и добавить в нее доменных пользователей.
groupadd tsusers
Добавление в группу tsusers пользователя <bob> производится командой:
usermod -aG tsusers bob
где <bob> - это доменный пользователь,
В файл /etc/xrdp/sesman.ini в секцию [Security]
необходимо добавить строки:
TerminalServerUsers=tsusers
AlwaysGroupCheck=true
Еще один вариант - в качестве локальной группы указать доменную:
TerminalServerUsers=rdp
здесь rdp - группа безопасности на вашем контроллере домена, в которую могут входить необходимые вам пользователи xrdp-сервера.
После этого перезапустите сервер:
systemctl restart xrdp systemctl restart sssd
Дополнительная настройка SELinux
После тестового подключения к xrdp-серверу нужно выполнить настройку SELinux, выполните следующие команды на сервере:
ausearch -c 'krb5_child' --raw | audit2allow -M my-krb5child semodule -X 300 -i my-krb5child.pp
Завершение всех процессов при выходе из сеанса
Для того чтобы при выходе из системы прекращались все процессы, явно или неявно запущенные от имени авторизованного пользователя, в файле /etc/systemd/logind.conf необходимо раскомментировать параметр KillUserProcesses
и установить значение yes
.
После изменения значения данного параметра необходимо либо перезагрузить компьютер, либо выполнить команду перезапуска сервиса logind для применения настроек:
systemctl restart systemd-logind
Оптимизация производительности
Оптимизацию использования ресурсов RDP-сервера (процессора, оперативной памяти, каналов связи) можно произвести представленными ниже изменениями конфигурации.
- при использовании MATE:
Для отключения композитного менеджера путем задания значения по умолчанию параметра dconf
следует создать файл /etc/dconf/db/local.d/10_mate_nocomp со следующим содержимым (с правами пользователя root):
nano /etc/dconf/db/local.d/10_mate_nocomp
[org/mate/marco/general]
compositing-manager=false
Для того чтобы ограничить возможность изменения данного параметра пользователем, то есть принудительно применить настройку, следует выполнить команду:
echo "/org/mate/marco/general/compositing-manager" > /etc/dconf/db/local.d/locks/10_mate_nocomp
Для включения композитного менеджера измените значение параметра compositing-manager
с false
на true
.
при использовании KDE:
Для отключения композитного менеджера выполните в терминале команду:
qdbus org.kde.KWin /Compositor suspend
Включить снова композитный менеджер можно с помощью команды:
qdbus org.kde.KWin /Compositor resume
при использовании GNOME:
Для оптимизации производительности отключение композитного менеджера не предусмотрено.
Автоматическое завершение сеанса пользователя, подключенного по xrdp
Данный вариант подойдет для решения ситуаций, когда после удаленного входа пользователь не может войти в сеанс на локальном компьютере.
Для автоматического завершения xrdp-подключения с завершением графического сеанса пользователя в файле /etc/xrdp/sesman.ini раскомментируйте и укажите параметры:
KillDisconnected=true
DisconnectedTimeLimit=60
IdleTimeLimit=600
В этом примере конфигурационного файла RDP-соединение отключится через 10 минут (600 секунд) неактивности, с завершением сеанса пользователя через 60 секунд после отключения.
KillDisconnected - [true|false] Включение функции принудительного завершения сеанса пользователя, после отключения RDP. Данная настройка работает только для xorgxrdp-сессий.
DisconnectedTimeLimit - Время в секундах, через которое будет завершен сеанс пользователя, после отключения RDP-соединения. Минимальное значение 60. При указании меньшего, значение будет равно 60.
IdleTimeLimit - Время в секундах, через которое будет будет отключено неактивное RDP-соединение. Под неактивностью понимается отсутствие ввода с клавиатуры, отсутствие движения/нажатий мыши. Если указано 0 - неактивное соединение не отключается. Данная настройка работает только для xorgxrdp сессий.
Автоматическое завершение всех графических сеансов пользователя
Данный вариант завершает все графические сеансы пользователей, которые неактивны указанное время. Решает проблему, когда незавершенный сеанс на локальном компьютере не позволяет подключиться этому пользователю по xrdp удаленно.
Создайте скрипт:
nano /opt/logout.sh
Сделайте его исполняемым:
chmod +x /opt/logout.sh
Содержание скрипта:
#!/bin/bash
idle_time=30 # Время в минутах бездействия в сессии пользователя, после которого сессия будет завершена (Указать необходимое)
while true; do
# Время бездействия пользователя в миллисекундах
user_time=$(xprintidle)
if [ $user_time -ge $((idle_time*60*1000)) ]; then
# Завершаем сеанс пользователя
loginctl kill-user "$USER"
fi
sleep 1
done
Создайте файл автозапуска скрипта /opt/logout.sh:
nano /etc/xdg/autostart/logout.desktop
Содержание файла /etc/xdg/autostart/logout.desktop:
[Desktop Entry]
Type=Application
Exec=/opt/logout.sh
Hidden=false
Name=MyLogout
Дата последнего изменения: 31.10.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.