пользователь не может подключиться к серверу через xrdp, протестирован с использованием удаленного настольного клиента Linux, а также клиента удаленного рабочего стола Windows
сообщения об ошибках: «ошибка: проблема с подключением»
/var/log/sesman.log
показывает эту ошибку
[20170419-22:06:02] [INFO ] scp thread on sck 7 started successfully
[20170419-22:06:02] [INFO ] ++ reconnected session: username test,
display :47.0, session_pid 2869, ip xxx.xxx.xxx.xxx:53732 - socket: 7
grepping для этого процесса
root@server:/etc/xrdp# ps -aux | grep defunct
root 2869 0.0 0.0 0 0 ? Z 19:08 0:00
[xrdp-sessvc] <defunct>
пытаясь убить процесс
kill -9 2869
не убивает процесс
как мне убить этот процесс?
пользователи не могут войти в систему, о которой в файле журнала говорится, что это существующий сеанс
однако при запуске посмотрите, чтобы увидеть отключенные сеансы tcp (не установленные соединения, а просто прослушивающие порты), я не вижу никаких сеансов, существующих для этого пользователя
это хроническая, повторяющаяся проблема, которая, кажется, не проявляется в какой-либо регулярной форме
что мне делать?
список всех сеансов xrdp
#!/bin/bash
# find disconnect RDP sessions
lsof -b -w -n -c /^Xvnc$/b -a -iTCP:5900-5999
не показывает отключенных сеансов (все TCP-соединения установлены для всех подключенных пользователей)
Немного поздно в игре, но почему это происходит, я не уверен, но на моем сервере с временем безотказной работы всего 7 месяцев были тысячи неработающих процессов xrdp. Я очищаю его с помощью «sudo systemctl restart xrdp.service».
Для всех, кто сталкивается с этой проблемой, я обнаружил, что сервер xrdp хранит некоторую информацию о состоянии отключенных сеансов. Даже анализ всех TCP-соединений и уничтожение прослушивающих, но не установленных портов не решает эту проблему (хотя это решает огромную проблему ненужного выделения ресурсов).
Я обнаружил, что не могу пожать зомби и заставить XRDP создать новый сеанс вместо попытки переподключиться к предыдущему состоянию без перезапуска сервера XRDP.
Единственный трюк, который я нашел, - это изменить разрешение экрана клиента, чтобы заставить сервер xrdp думать, что это новая машина. Это позволяет принять соединение и устанавливает новый сеанс.