Summary: | Не работает подключение к пользовательской сессии | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | NzN <golovkoan> | ||||||
Component: | xrdp | Assignee: | Andrey Cherepanov <cas> | ||||||
Status: | REOPENED --- | QA Contact: | qa-sisyphus | ||||||
Severity: | critical | ||||||||
Priority: | P5 | CC: | belayaav, dgurev, lakostis, lav, pashininaaa, shevchenkodyu | ||||||
Version: | unstable | ||||||||
Hardware: | x86_64 | ||||||||
OS: | Linux | ||||||||
Attachments: |
|
Description
NzN
2024-09-20 06:35:37 MSK
Добрый день! Для проверки использовала стенд Alt Workstation 10.2 x86_64. Не смогла воспроизвести ошибки в Sisyphus и Р10. Подключение производится успешно. Версии пакетов: Sisyphus: xrdp-0.10.1-alt1.x86_64 remmina-1.4.35-alt2.x86_64 xfreerdp-2.11.7-alt3.x86_64 P10: xrdp-0.10.1-alt0.p10.1.x86_64 remmina-1.4.35-alt0.p10.1.x86_64 xfreerdp-2.11.7-alt3.x86_64 Remmina и xfreerdp использовались в качестве клиентов для подключения. Укажите, пожалуйста, следующее: 1. Какие дистрибутивы использовались для подключения? На каком дистрибутиве развернут xrdp-сервер? 1. Можете ли показать лог /var/log/xrdp.log? По каким шагам настраивался сервер vnc? 2. Какой клиент используется для подключения? Можете показать /etc/xrdp/sesman.ini? Также параметр "pamsessionmng" не указан в man и при этом влияет на отображение гритера. Поможет ли, если закомментировать данный параметр, перезапустить xrdp и xrdp-sesman и переподключиться? День добрый! На АРМ, к которым подключались, установлены P10: xrdp-0.10.1-alt0.p10.1.x86_64 xorg-drv-xrdp-0.10.1-alt0.p10.1 remmina-1.4.35-alt0.p10.1.x86_64 xfreerdp-2.11.7-alt3.x86_64 C9F2: xrdp-0.10.1-alt0.p10.1.x86_64 xorg-drv-xrdp-0.10.1-alt0.p10.1 remmina-1.3.7-alt1.x86_64 xfreerdp-2.11.6-alt1.x86_64 MSTSC, Remmina и xfreerdp использовались в качестве клиентов для подключения. Использование VNC настраивалось в xrdp.ini в секции [Xvnc] Комментирование параметра pamsessionmng ситуацию не изменяет. На итог При подключении в Новый сеанс — успешно При подключении в Пользовательский сеанс — подключение происходит, но со стороны подключающегося пустой экран, на удалённом АРМ видны попытки подключающегося двигать/щелкать мышкой. При откате xrdp на версию 0.9.23.1 — всё успешно (Ответ для Белая Алёна на комментарий #1) Created attachment 16891 [details]
/etc/xrdp/xrdp.ini
Created attachment 16892 [details]
/etc/xrdp/sesman.ini
Добрый день! Воспроизвелась ошибка при подключении при настройке параметров xrdp (xrdp.ini, sesman.ini уже отправились отдельно) Также настроено подключение при помощи vino В настройках dconf были установлены (заданы параметры или включены функции) следующие параметры: в /org/gnome/desktop/remote-access alterrnative-port '5900' enabled icon-visibility 'always' network-interface '127.0.0.1' notify-on-connect prompt-enabled остальные параметры выключены Также изначально задавались параметры в консоли (потом уже были приведены к тому, что указано выше): gsettings set org.gnome.Vino network-interface 'lo' gsettings set org.gnome.Vino require-encryption 'false' gsettings set org.gnome.Vino notify-on-connect 'true' gsettings set org.gnome.Vino enabled 'true' Полагаю, что "Новый сеанс" - это Xorg-сессия, а "Пользовательский сеанс" - Xvnc-сессия. Т.е. проблема возникает при подключении к VNC. Судя по логам, VNC-соединение устанавливается корректно, проблемы начинаются при попытке подключиться к дисплею: [ERROR] xrdp_mm_chansrv_connect: error in trans_connect chan [ERROR] resize_server_to_client_layout: Asked to resize server, but not possible [INFO ] Login screen monitor height is 1080 pixels over 296 mm (92 DPI) В sesman.ini у вас указан параметр dpi, поможет ли, если закомментировать строки: "param=-dpi param=96" ? После этого нужно перезапустить сервисы xrdp и xrdp-sesman: # systemctl restart xrdp xrdp-sesman и переподключиться к удаленной машине. (Ответ для Белая Алёна на комментарий #6) > Полагаю, что "Новый сеанс" - это Xorg-сессия, а "Пользовательский сеанс" - > Xvnc-сессия. Т.е. проблема возникает при подключении к VNC. > > Судя по логам, VNC-соединение устанавливается корректно, проблемы начинаются > при попытке подключиться к дисплею: > [ERROR] xrdp_mm_chansrv_connect: error in trans_connect chan > [ERROR] resize_server_to_client_layout: Asked to resize server, but not > possible > [INFO ] Login screen monitor height is 1080 pixels over 296 mm (92 DPI) > > В sesman.ini у вас указан параметр dpi, поможет ли, если закомментировать > строки: > "param=-dpi > param=96" > ? > > После этого нужно перезапустить сервисы xrdp и xrdp-sesman: > # systemctl restart xrdp xrdp-sesman > > и переподключиться к удаленной машине. Выполнил. Без изменений. Проверила по шагам: 1. Настроила и запустила vnc-сервер # apt-get install tigervnc-server xorg-extension-vnc # subst 's/^#//' /etc/X11/xorg.conf.d/vnc.conf # vncpasswd # reboot 2. Настроила и запустила сервер xrdp: # apt-get install xorg-drv-xrdp xrdp # usermod -aG tsusers user && usermod -aG tsadmins user Раскомментировала и добавила параметры в блок [Xvnc] в /etc/xrdp/xrdp.ini: [Xvnc] name=Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=5900 code=20 cliprdr=true rdpdr=true chansrvport=DISPLAY(0) # systemctl enable --now xrdp xrdp-sesman && sleep 5; systemctl status xrdp xrdp-sesman # reboot 3. Установила клиента xrdp на другой машине: # apt-get install xfreerdp remmina remmina-plugins 4. Подключилась к серверу xrdp c помощью xrfeerdp: # xfreerdp /v:<ip-addr> При подключении выбрала сессию Xvnc и ввела пароль, заданный при команде vncpasswd. Подключение проходит успешно, дисплей отображается корректно, проблем не наблюдаю. Проверено для версии xrdp-0.10.1-alt0.p10.1. и для версии xrdp-0.9.21.1-alt2. Поведение одинаковое. Параметры меняли, результат тот же. vnc используется для подключения к сеансу доменного пользователя для оказания тех.поддержки. Для этого используется следующий стэк: xrdp vino-mate с настройками, описанными в комментарии 5 Дмитрием Гурьевым Используется доменная авторизация администратора для подключения к существующему сеансу с запросом на разрешение подключения. После обновления пакета xrdp сначала обратили внимание 1 на нарушение функционирования элементов логон-окна(лого выходит за границы, не функционирует перемещение мышью по элементам ввода). Решилось редактированием конфига. 2 После подключения вместо удаленного рабочего стола виден либо черный, либо бирюзовый экран. При этом на удалённой машине управление клавиатурой и мышью есть, но бесполезно. Использование других решений, особенно с с предопределённым vncpassword не приемлемо с точки зрения безопасности и сложности распространения решения(тысячи территориально и административно распределённых хостов) При установке старых пакетов xrdp 0.9.23.1 проблемы уходят (Ответ для Белая Алёна на комментарий #8) Стенды Alt Workstation 10.2 x86_64 - сервер Alt Workstation 10.2 x86_64 - клиент Версии пакетов: xrdp-0.10.1-alt1.x86_64 xorg-drv-xrdp-0.10.1-alt1.x86_64 Шаги воспроизведения: 1. Настроить xrdp и vnc на машине, к которой будет производиться подключение: vnc: Открыть dconf-editor ($ dconf-editor), зайти по пути /org/gnome/desktop/remote-access и установить следующие параметры: alternative-port '5900' включить чекбокс "enabled" проверить, что включены чекбоксы notify-on-connect, prompt-enabled xrdp: Настроить сервер: # apt-get install xorg-drv-xrdp xrdp Раскомментировать и отредактировать сессию Xvnc в /eetc/xrdp/xrdp.ini [Xvnc] name=Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=5900 chansrvport=DISPLAY(0) Сохранить. Добавить пользователя в группы и запустить сервер: # usermod -aG tsusers user && usermod -aG tsadmins user && id user # systemctl enable --now xrdp xrdp-sesman && sleep 5; systemctl status xrdp xrdp-sesman Изменить разрешение экрана, чтобы оно не было равно 1024x768 2. На клиенте установить xfreerdp: # apt-get install xfreerdp Подключиться к серверу xrdp: $ xfreerdp /v:<ip сервера> В появившемся окне входа выбрать "Session: Xvnc", ввести логин и пароль пользователя, который добавлялся в группы tsusers и tsadmins. Результат: Вместо удаленного рабочего стола виден либо черный, либо бирюзовый экран, на удаленной машине отслеживаются движения мыши с клиента. Время от времени рабочий стол поначалу отображается, но картинка сразу же "зависает", действия, выполеннные на удаленной машине, не отображаются у клиента. В логах указывается, что провалились попытки изменить разрешение экрана: [2024-09-26T12:46:04.223+0300] [INFO ] xrdp_wm_log_msg: Connecting to session [2024-09-26T12:46:04.230+0300] [INFO ] loaded module 'libvnc.so' ok, interface size 4832, version 4 [2024-09-26T12:46:04.253+0300] [INFO ] VNC: Clipboard (if available) is provided by chansrv facility [2024-09-26T12:46:04.259+0300] [INFO ] xrdp_wm_log_msg: Connecting to chansrv [2024-09-26T12:46:14.272+0300] [ERROR] xrdp_mm_chansrv_connect: error in trans_connect chan [2024-09-26T12:46:14.297+0300] [ERROR] resize_server_to_client_layout: Asked to resize server, but not possible [2024-09-26T12:46:14.303+0300] [INFO ] dynamic_monitor_process_queue: Clearing failed request to resize to: (w: 1152 x h: 768) [2024-09-26T12:46:18.212+0300] [ERROR] xrdp_iso_send: trans_write_copy_s failed [2024-09-26T12:46:18.245+0300] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed Ожидаемый результат: Успешное изменение разрешения экрана и подключение к серверу xrdp, удаленный рабочий стол виден, отображается происходящее на удаленной машине. Дополнительно: проблема отсутствует в версии xrdp-0.9.24-alt1, разрешение окна удаленного доступа на клиенте подстраивается под разрешение сервера xrdp. В версии 0.10.0-alt1 проблема уже присутствует. Проблема также воспроизводится при попытке подключиться к xrdp-серверу с помощью удаленного рабочего стола Windows. Примечание к предыдущему комментарию - при подключении к серверу xrdp(шаг 2 - "Подключиться к серверу xrdp"), после ввода логина и пароля пользователя, на удаленной машине появится уведомление "Другой пользователь пытается подключиться к вашему рабочему столу" Нужно нажать на кнопку "Принять", иначе соединение будет разорвано. (Ответ для Белая Алёна на комментарий #6) > Полагаю, что "Новый сеанс" - это Xorg-сессия, а "Пользовательский сеанс" - > Xvnc-сессия. Т.е. проблема возникает при подключении к VNC. > > Судя по логам, VNC-соединение устанавливается корректно, проблемы начинаются > при попытке подключиться к дисплею: > [ERROR] xrdp_mm_chansrv_connect: error in trans_connect chan > [ERROR] resize_server_to_client_layout: Asked to resize server, but not > possible > [INFO ] Login screen monitor height is 1080 pixels over 296 mm (92 DPI) > > В sesman.ini у вас указан параметр dpi, поможет ли, если закомментировать > строки: > "param=-dpi > param=96" > ? > > После этого нужно перезапустить сервисы xrdp и xrdp-sesman: > # systemctl restart xrdp xrdp-sesman > > и переподключиться к удаленной машине. https://github.com/neutrinolabs/xrdp/issues/3288 |