Xrdp настройка alt linux

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.

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

Читайте также:  Red hat linux rus

Примечание: Существует известная проблема с тем, что на странице авторизации не реализовано переключение раскладки клавиатуры. Поэтому при подключении с клиента 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

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

Общий подход

Первым делом обратите внимание на логи как сервера, так и сессии:

Читайте также:  Linux find all source files

Например, такие строчки в последнем свидетельствуют о необходимости запроса пересборки 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

Источник

XRDP. Установка и настройка

Для удалённого управления компьютером пользователи Windows привыкли использовать «Подключение к удалённому рабочему столу», работающее по протоколу RDP.

Читайте также:  Pro linux операционная система

В ОС AlterOS возможна реализация такого подключение с Windows машины. Для этой цели служит пакет XRDP

Установка XRDP

Установка XRDP производится с помощью команды

# sudo yum install xrdp xorgxrdp

Настройка XRDP

Первым делом необходимо настроить или отключить Firewall.

Если выбрана настройка Firewall, то необходимо открыть как минимум порт 3389.

# sudo firewall-cmd --permanent --add-port=3389/tcp # sudo systemctl restart firewalld

Далее необходимо добавить рабочую среду Cinnamon при подключении пользователя:

# echo "cinnamon-session" > ~/.xsession # chmod +x ~/.xsession # sudo systemctl restart xrdp.service

Данная процедура должна быть произведена для каждого пользователя, которому необходим удалённый доступ на настраиваемый компьютер.

Добавление возможности переключать раскладку

Необходимо внести правки в конфигурационные файлы:

Комментируем блок с [Xvnc] и расскоментирует блок с [Xorg]

[Xorg] name=Xorg lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 code=20 #[Xvnc] #name=Xvnc #lib=libvnc.so #username=ask #password=ask #ip=127.0.0.1 #port=-1 #xserverbpp=24 #delay_ms=2000

Приводим файл конфигурации /etc/xrdp/xrdp_keyboard.ini к виду:

[default_rdp_layouts] rdp_layout_us=0x00000409 rdp_layout_de=0x00000407 rdp_layout_fr=0x0000040C rdp_layout_it=0x00000410 rdp_layout_jp=0x00000411 rdp_layout_jp2=0xe0010411 rdp_layout_jp3=0xe0200411 rdp_layout_jp4=0xe0210411 rdp_layout_ru=0x00000419 rdp_layout_se=0x0000041D rdp_layout_pt=0x00000816 rdp_layout_br=0x00000416 rdp_layout_pl=0x00000415 [rdp_keyboard_ru] keyboard_type=4 keyboard_subtype=1 model=pc105 options=grp:alt_shift_toggle rdp_layouts=default_rdp_layouts layouts_map=layouts_map_ru [layouts_map_ru] rdp_layout_us=us,ru rdp_layout_ru=us,ru

Редактируем файл /usr/libexec/xrdp/startwm.sh как показано на рисунке:

# sudo nano /usr/libexec/xrdp/startwm.sh
/bin/setxkbmap -layout us,ru -variant ',winkeys' -option 'grp:alt_shift_toggle,grp_led:scroll'

Setxkbmap.png

# sudo systemctl restart xrdp.service

На этом процедура настройки XRDP закончена.

Для проброса звука необходимо установить пакет pulseaudio-module-xrdp, выполнив команду:

Технические моменты

  • Для доступа в интернет пользователям, подключенным удалённо, необходимо открыть как минимум порт 80 (в случае если Firewall не отключен).

Открыть порт 80 можно с помощью команды:

firewall-cmd --permanent --add-port=80/tcp

После чего перезапустить сервис firewalld:

sudo systemctl restart firewalld
  • Для удаленного запуска программ, таких как Yumex, пользователю, от имени которого происходит запуск, необходимо предоставить права на выполнение данной программы без ввода пароля администратора (root). Один из способов предоставления таких прав пользователю — создание конфигурационного файла в директории /etc/sudoers.d. Для этого потребуется выполнить следующие шаги:
sudo nano /etc/sudoers.d/user

2) Внести строку с названием вашего пользователя и приложения, которому необходимо дать доступ, например:

3) Сохранить файл и выставить права на него:

chmod 0440 /etc/sudoers.d/user

4) Проверить правильность синтаксиса файла sudoers:

Если команда вернет сообщение «parsed OK», значит, файл sudoers был создан без ошибок.

Источник

Оцените статью
Adblock
detector