-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XRDP doesn't cleanup user sessions on service restart, subsequent attempts to RDP to the system fail #3033
Comments
Hi @cobbr This is indeed a long-standing issue - see #800 There are two significant problems with v0.9.x of xrdp in this area:-
The good news is we've changed the architecture around The first stage of the architectural change is in devel builds It will will be released as part of v0.10.x which is in beta now. After this, we'll be able to get the plumbing in to fully fix this. Workarounds:-
Based on what you've told me, I'd say 2) is probably the simplest avenue for you to explore. If you've got pre-prod capability you can test it by installing an older version of 22.04 without updates, enabled, set the pinning up, and then run the update. Is any of that useful to you? |
This is very informative and helpful @matt335672, thank you. I think I'll explore |
xrdp version
0.9.17
Detailed xrdp version, build options
Operating system & version
Ubuntu 22.04
Installation method
dnf / apt / zypper / pkg / etc
Which backend do you use?
xorgrdp
What desktop environment do you use?
XFCE4
Environment xrdp running on
VM
What's your client?
Apache guacamole
Area(s) with issue?
No response
Steps to reproduce
service xrdp restart
✔️ Expected Behavior
Expect to be able to reconnect via RDP to the system running XRDP as the same user
❌ Actual Behavior
Unable to connect via RDP to the system running xrdp until the system has been rebooted or processes running as "testuser1" are killed off.
Anything else?
I believe this has to do with the issue that typically arises if you try to RDP as user that is already connected at the console. Killing off the user process before reconnecting (
pkill -U testuser1
) fixes the issue.But in this case, the user was never connected to the physical console, the original XRDP session was never cleaned up when the service restarted and now it's impossible to connect as the user again.
Service restarts are inevitable. In our case, the user runs some sort of
apt
package installs, which can cause various systemd services to restart, and are disconnected from their RDP session and are unable to reconnect without a reboot.Is this expected behavior? Should XRDP cleanup/kill the Xsession when the service is restarted? Is there some configuration options or workaround to cleanup the session on service restart?
The text was updated successfully, but these errors were encountered: