Can I "wake up" an idle Xrdp connection in the "black screen of death" state by logging in from another user account and doing some code magic?
Here's the reason I ask.
For work I have to use Windows 10. Bummer, I know. But I got permission to install WSL (subsystem for Linux). I'm able to get many X11 apps running with an X server. I've tried WSL1 and 2. WSL2 has quite a few conflicts with corporate VPN, so I'm staying with WSL1.
I found several posts about launching an Xrdp session from WSL and connecting to it with the Windows Remote Desktop Client on the same system (Linux on Windows, Running WSL Gui on Windows) The setup is not too easy, but I got an XFCE4 session working and it is pretty good!
However, I run into the infamous "black screen" of death now and then. When you leave an Xrdp session idle, then when you return, after giving a password, then the Xrdp screen is black. Following suggestions that blame the desktop for 'going to sleep' via screen/power saver, I've disabled all of the screen savers and power managers. The black screen does not happen very often. But if I forget to log out of the RDP session and leave it overnight, I have BSOD in the morning.
After trying many fixes, the BSOD seems unavoidable. I've tried this with WSL sessions based on Ubuntu 20.04 and 20.10, I don't think there's a fix. Something triggers an flock or powers off the monitor.
But I have a new idea today!
I created another user account in WSL. When first account is in BSOD, I can log in with other account. I can su
as the user whose account is in black screen. Tell me some way to kick-start the session from there, please!
One way of solving this issue is to change the power management settings to never lock or display screen saver. This might not solve your problem of waking up an idle XRDP session but will prevent it from going into a sleep mode.