Why can't I run multiple sessions for single user on CentOS Stream 8 & 9? #2319
-
Hi XRDP dev team, I use XRDP for cloud development. After I upgrade my OS from CentOS 7.9 to CentOS Stream 8 & 9, I found XRDP (Version 0.9.17) behaves differently on CentOS 7.x (refer as CentOS7) and CentOS Stream 8&9 (refer as CentOS Stream). For any specific user, here are the differences: CentOS 7: I can start different XRDP sessions with isolated desktop environments for a single user. For example, as root, I can start one XRDP session with 16 bpp, log in to my server, and keep it logged in; meanwhile, I can modify the color to 32 bpp and log in to my server. The 2 sessions coexist and work without any conflict. This feature gives users more freedom to start and manage his/her sessions, but the drawback is that a single user can initiate several Xvnc sessions, and some of them might be useless. For my workload, this feature is very good and convinient. CentOS Stream: I cannot run multiple sessions concurrently as described above. Only one session works; if I DO want to start another session with a different configuration (for example, switch the color depth bpp), I MUST LOG OUT of the current session ( "Close" doesn't work, it will leave the session alive and block all the other sessions) and start the new session. If I don't LOG OUT, the new sessions will be a black screen; an even more complicated phenomenon is, that the new sessions interfere with the previous sessions:
I have no idea why the differences occur. Looking forward to your reply. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 5 replies
-
Here are my logs of sesman: [20220716-10:10:03] [INFO ] starting Xvnc session...
My Desktop Env:
Thanks a lot! |
Beta Was this translation helpful? Give feedback.
-
I've taken the liberty of converting this to a question, as this is a relatively common problem, not only with CentOS/Alma/Rocky, but also with Ubuntu. The essential problem is that recent systemd-based Linux distros use When you log in to a desktop, this common environment is updated with a number of variables, including The problem comes about as desktops assume that these two environment variables (and maybe others) are specific to the desktop instance. In short; the way This isn't restricted to xrdp - if you try to create a new session for a logged-in user using a virtual X server like Xvnc, you will encounter the same problems. If you use a systemd-free distro, or FreeBSD you will find xrdp works fine. CentOS 7 is not immune to this either - in a few situations you will find it's a bit broken. This is from memory a few years back so I may have the details wrong, but if you
you will get a prompt telling you the stick can't be unmounted, but it will be in the xrdp session rather than on the console. Does that make sense? |
Beta Was this translation helpful? Give feedback.
-
Hi there, After months, I finally found a good way to avoid the problems described above. Here is my practice:
After the modification, no extra sessions will be created when you change the size or color depth from your RDP client. Therefore, no conflict will occur when you change the device you are using. For example,
The xrdp service will update the original session from 1980 * 1020 to 800 * 600; the bpp remains 24 and ignore the client bpp setting. Since there is no extra session, the remote desktop works quite well. The dysfunction described in my original post is well avoided. Hope my practice helps more xrdp users. Zhenrong WANG @ Shanghai HPC-NOW Technologies Co., Ltd |
Beta Was this translation helpful? Give feedback.
Hi there,
After months, I finally found a good way to avoid the problems described above. Here is my practice:
After the modification, no extra sessions will be created when you change the size or color depth from your RDP client. Therefore, no conflict will occur when you change the device you are using. For example,