LINUX.ORG.RU

История изменений

Исправление petav, (текущая версия) :

кажется он использует ip клиента как часть идентификатора сессии

Думаю, он привязывается по этим параметрам (user,geometry,depth):

Xvnc :10 -auth .Xauthority -geometry 1920x1080 -depth 16 -rfbauth /home/user1/.vnc/sesman_user1_passwd:10 -bs -nolisten tcp -localhost -dpi 96  
[20170822-11:31:24] [INFO ] starting xrdp-sessvc - xpid=1344 - wmpid=1343
А при переподключении смотрит на соответствие новго подключения старому по этим параметрам, находит pid и соединяет
[20170822-11:32:26] [INFO ] A connection received from ::1 port 45464
[20170822-11:32:26] [INFO ] ++ reconnected session: username variantb, display :10.0, session_pid 1342, ip 0.0.0.0:45430 - socket: 12
А судя по этому опыту Учим xrdp подключаться к прошлым сессиям я прав

Ну что ж, начнем. Суть способа заключается в комментировании в файле sessman/session.c пяти следующих строк:

Поясню. Здесь сканируются существующие сеансы и делается проверка, от какого пользователя и какого разрешения, цветовой глубины, типа (VNC, XRDP) планируется открыть сессию. Если находится сеанс с такими же параметрами, то подключаемся к той же сессии. Если нет, открываем новую. Условия: разрешение, глубина цвета, тип сеанса, я решил отключить.

Исходная версия petav, :

кажется он использует ip клиента как часть идентификатора сессии

Думаю, он привязывается по этим параметрам (user,geometry,depth):

Xvnc :10 -auth .Xauthority -geometry 1920x1080 -depth 16 -rfbauth /home/user1/.vnc/sesman_user1_passwd:10 -bs -nolisten tcp -localhost -dpi 96  
[20170822-11:31:24] [INFO ] starting xrdp-sessvc - xpid=1344 - wmpid=1343

А при переподключении смотрит на соответствие новго подключения старому по этим параметрам, находит pid и соединяет
[20170822-11:32:26] [INFO ] A connection received from ::1 port 45464
[20170822-11:32:26] [INFO ] ++ reconnected session: username variantb, display :10.0, session_pid 1342, ip 0.0.0.0:45430 - socket: 12

А судя по этому опыту Учим xrdp подключаться к прошлым сессиям я прав

Ну что ж, начнем. Суть способа заключается в комментировании в файле sessman/session.c пяти следующих строк:

Поясню. Здесь сканируются существующие сеансы и делается проверка, от какого пользователя и какого разрешения, цветовой глубины, типа (VNC, XRDP) планируется открыть сессию. Если находится сеанс с такими же параметрами, то подключаемся к той же сессии. Если нет, открываем новую. Условия: разрешение, глубина цвета, тип сеанса, я решил отключить.