Introduction
When you try to start an XRDP session, you may encounter the following error messages in your logs:
Gen 20 11:13:11 noviello-web xrdp-sesman[19218]: [INFO ] starting Xorg session...
Gen 20 11:13:11 noviello-web xrdp-sesman[19218]: [INFO ] Starting session: session_pid 19243, display:10.0, width 1360, height 768, bpp 24, client ip::ffff:192.168.1.10:60591 - socket: 12, user name noviello
Gen 20 11:13:11 noviello-web xrdp-sesman[19243]: [INFO ] [session start] (display 10): calling auth_start_session from pid 19243
Gen 20 11:13:11 noviello-web xrdp-sesman[19218]: [ERROR] sesman_data_in: scp_process_msg failed
Gen 20 11:13:11 noviello-web xrdp[19240]: [INFO ] xrdp_wm_log_msg: login successful for display 10
Gen 20 11:13:11 noviello-web xrdp[19240]: [INFO ] login successful for display 10
Gen 20 11:13:11 noviello-web xrdp-sesman[19218]: [ERROR] sesman_main_loop: trans_check_wait_objs failed, removing trans
Gen 20 11:13:11 noviello-web systemd[1]: Started Session c7 of User noviello.
Gen 20 11:13:11 noviello-web xrdp[19240]: [INFO ] loaded module 'libxup.so' ok, interface size 10296, version 4
Gen 20 11:13:11 noviello-web xrdp-sesman[19245]: [INFO ] Starting X server on display 10: /usr/lib/xorg/Xorg:10 -auth.Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile.xorgxrdp.%s.log
Gen 20 11:13:11 noviello-web xrdp[19240]: [DEBUG] xrdp_wm_log_msg: started connecting
Understand the mistake
The main error messages here are:
- [ERROR] sesman_data_in: scp_process_msg failed
- [ERROR] sesman_main_loop: trans_check_wait_objs failed, remove trans
These errors indicate that there is a problem with the session management process within XRDP. Specifically, the session manager has problems processing messages and maintaining connections, which causes it to fail.
Possible solution
After some investigation, a solution was found involving the /etc/X11/Xwrapper.config configuration file. By changing the allowed_users parameter, you can allow any user to start the X server, fixing the problem.
Open the /etc/X11/Xwrapper.config configuration file with a text editor of your choice. You may need superuser permissions to edit this file.
sudo nano /etc/X11/Xwrapper.config
Look for the line that says:
#allowed_users=console
Change this line to:
allowed_users=anybody
Save the file and exit the text editor.
Important note
Make sure you don't use the same user for both the XRDP session and the physical console of the machine. This can cause conflicts.
By following these steps, you should be able to resolve XRDP session startup errors and start XRDP sessions successfully.