Xrdp: XRDP session immediately closes after loggin in.

Created on 17 Sep 2019  ·  9Comments  ·  Source: neutrinolabs/xrdp

Hi

I have xrdp installed on both RH 7.6 and 7.7 both are showing the same behavior. Can you please suggest if I have to make any config changes for this to work?
I do not have file on Redhat : /etc/xrdp/startwm.sh

tigervnc.x86_64                                      1.8.0-17.el7                 @rhel_7Server_x64_localrepo
xrdp.x86_64                                          1:0.9.11-1.el7                @EPEL7_x64_localrepo


Logs :  xrdp-sesman.log

[20190917-14:00:38] [INFO ] shutting down sesman 1
[20190917-14:00:38] [DEBUG] Closed socket 7 (AF_INET 127.0.0.1:3350)
[20190917-14:00:38] [DEBUG] libscp initialized
[20190917-14:00:38] [INFO ] starting xrdp-sesman with pid 2577
[20190917-14:00:38] [INFO ] listening to port 3350 on 127.0.0.1
[20190917-14:00:52] [INFO ] A connection received from 127.0.0.1 port 50236
[20190917-14:00:52] [INFO ] ++ created session (access granted): username user, ip **.***.**.***:53246 - socket: 12
[20190917-14:00:52] [INFO ] starting Xvnc session...
[20190917-14:00:52] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:5910)
[20190917-14:00:52] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:0)
[20190917-14:00:52] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:5911)
[20190917-14:00:52] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6011)
[20190917-14:00:52] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6211)
[20190917-14:00:52] [DEBUG] Closed socket 8 (AF_INET 127.0.0.1:3350)
[20190917-14:00:52] [INFO ] calling auth_start_session from pid 2715
[20190917-14:00:52] [DEBUG] Closed socket 7 (AF_INET 127.0.0.1:3350)
[20190917-14:00:52] [DEBUG] Closed socket 8 (AF_INET 127.0.0.1:3350)
[20190917-14:00:52] [INFO ] Xvnc :11 -auth .Xauthority -geometry 3840x2174 -depth 24 -rfbauth /home/user/.vnc/[email protected]:11 -bs -nolisten tcp -localhost -dpi 96
[20190917-14:00:52] [CORE ] waiting for window manager (pid 2717) to exit
[20190917-14:00:53] [CORE ] window manager (pid 2717) did exit, cleaning up session
[20190917-14:00:53] [INFO ] calling auth_stop_session and auth_end from pid 2715
[20190917-14:00:53] [DEBUG] cleanup_sockets:
[20190917-14:00:53] [INFO ] ++ terminated session:  username user, display :11.0, session_pid 2715, ip **.***.**.***:53246 - socket: 1

Most helpful comment

Hi @faya9551

Following may be the reason for your issue:

  1. Please check whether all the desktop manager component been installed if not please use yum groupinstall "KDE" and GNOME
  2. Check you home directory whether you have any .Xclients file.
    if yes change the file permission to chmod +x .Xclients and add the startkde/gnome-session inside this file.
    NOTE: Empty file will be create the session close

All 9 comments

Sorry this is not a solution!

The same problem is happening with Xubuntu 18.04 LTS, Xubuntu 19.04.
When I try to connect through mstsc on Windows 10, I get a black screen after login and exit.

I searched for half a day and tried many solutions but showed the same problem..

Below is the log when connecting.

var/log/xrdp.log

[20190918-21:04:43] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350
[20190918-21:04:44] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20190918-21:04:44] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20190918-21:04:44] [DEBUG] return value from xrdp_mm_connect 0
[20190918-21:04:44] [INFO ] xrdp_wm_log_msg: login successful for display 10
[20190918-21:04:44] [DEBUG] xrdp_wm_log_msg: started connecting
[20190918-21:04:44] [INFO ] lib_mod_log_peer: xrdp_pid=11003 connected to X11rdp_pid=11017 X11rdp_uid=1000 X11rdp_gid=1000 client_ip=::ffff:192.168.0.28 client_port=1661
[20190918-21:04:44] [DEBUG] xrdp_wm_log_msg: connected ok
[20190918-21:04:44] [DEBUG] xrdp_mm_connect_chansrv: chansrv connect successful
[20190918-21:04:44] [DEBUG] Closed socket 16 (AF_INET6 ::1 port 51898)
[20190918-21:04:45] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:192.168.0.50 port 3389)
[20190918-21:04:45] [DEBUG] xrdp_mm_module_cleanup
[20190918-21:04:45] [DEBUG] Closed socket 17 (AF_UNIX)
[20190918-21:04:45] [DEBUG] Closed socket 18 (AF_UNIX)

/var/log/xrdp-sesman.log

[20190918-21:04:43] [INFO ] A connection received from ::1 port 51898
[20190918-21:04:44] [INFO ] ++ created session (access granted): username laladot, ip ::ffff:192.168.0.28:1661 - socket: 12
[20190918-21:04:44] [INFO ] starting Xorg session...
[20190918-21:04:44] [DEBUG] Closed socket 9 (AF_INET6 :: port 5910)
[20190918-21:04:44] [DEBUG] Closed socket 9 (AF_INET6 :: port 6010)
[20190918-21:04:44] [DEBUG] Closed socket 9 (AF_INET6 :: port 6210)
[20190918-21:04:44] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20190918-21:04:44] [INFO ] calling auth_start_session from pid 11007
[20190918-21:04:44] [DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
[20190918-21:04:44] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20190918-21:04:44] [INFO ] /usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log  
[20190918-21:04:44] [CORE ] waiting for window manager (pid 11013) to exit
[20190918-21:04:45] [CORE ] window manager (pid 11013) did exit, cleaning up session
[20190918-21:04:45] [INFO ] calling auth_stop_session and auth_end from pid 11007
[20190918-21:04:45] [DEBUG] cleanup_sockets:
[20190918-21:04:45] [DEBUG] cleanup_sockets: deleting /var/run/xrdp/sockdir/xrdp_chansrv_audio_out_socket_10
[20190918-21:04:45] [DEBUG] cleanup_sockets: deleting /var/run/xrdp/sockdir/xrdp_chansrv_audio_in_socket_10
[20190918-21:04:45] [DEBUG] cleanup_sockets: deleting /var/run/xrdp/sockdir/xrdpapi_10
[20190918-21:04:45] [INFO ] ++ terminated session:  username laladot, display :10.0, session_pid 11007, ip ::ffff:192.168.0.28:1661 - socket: 12

~/.xsession


/etc/xrdp/startwm.sh

## SKIP ##
fi

if test -r /etc/profile; then
        . /etc/profile
fi
#### I tried several times but it doesn't work!
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
xfce4-session
#startxfce4

I think it's an xorg problem, but I haven't found a solution yet.
Do you know how to solve this problem? or bug?

Hi @faya9551

Following may be the reason for your issue:

  1. Please check whether all the desktop manager component been installed if not please use yum groupinstall "KDE" and GNOME
  2. Check you home directory whether you have any .Xclients file.
    if yes change the file permission to chmod +x .Xclients and add the startkde/gnome-session inside this file.
    NOTE: Empty file will be create the session close

I am getting the same thing, but it only seems to happen if I log into the machine locally and then, without logging out, try to log in with xrdp. If I am not logged in on the machine and I try to log in with xrdp then it works. Also if I disconnect from an xrdp session and a reconnect to the logged in session it still works. That's happening on a Pop! OS 19.04 VM.

No feedback from the reporter, closed.

Hi people!
My XRDP stopped working few weeks ago. Then I started working with the xfce4. But It does not allow me to see some applications for example kivy applications. So I started to dig out how to solve this issue. But I can't see how. Using xrdp i got the following status:

rb@rb-desktop:/home$ systemctl status xrdp.service
● xrdp.service - xrdp daemon
   Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-06-19 18:29:52 CDT; 4min 58s ago
     Docs: man:xrdp(8)
           man:xrdp.ini(5)
  Process: 10316 ExecStop=/usr/sbin/xrdp $XRDP_OPTIONS --kill (code=exited, status=0/SUCCESS)
  Process: 10391 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
  Process: 10356 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
 Main PID: 10393 (xrdp)
    Tasks: 2 (limit: 4183)
   CGroup: /system.slice/xrdp.service
           ├─10393 /usr/sbin/xrdp
           └─10688 /usr/sbin/xrdp

jun 19 18:34:16 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)
jun 19 18:34:19 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)
jun 19 18:34:23 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)
jun 19 18:34:26 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)
jun 19 18:34:30 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)
jun 19 18:34:33 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)
jun 19 18:34:37 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)
jun 19 18:34:40 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)
jun 19 18:34:44 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)
jun 19 18:34:47 rb-desktop xrdp[10688]: (10688)(548297039888)[DEBUG] Closed socket 21 (AF_UNIX)

When I am trying to run Kivy applications in xfce4 this is what I got:

MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  36
  Current serial number in output stream:  35

This is my system info:
rb@rb-desktop:/usr/lib/nvidia/license$ uname -a
Linux rb-desktop 4.9.140-tegra #1 SMP PREEMPT Tue Jul 16 17:04:49 PDT 2019 aarch64 aarch64 aarch64 GNU/Linux

Best Regards

Currently experiencing the same issue when attempting to xrdp into a Termux chroot running in Android 10 - Samsung Galaxy Note 10+

Ubuntu version is 20.04

VNC setup functions when using vnc server and vnc client:

vnserver > vnc client : ok
vncserver > rdp : not ok
xrdp > rdp client : not ok

this worked for me on oracle linux 8 minimal install with xfce4 from epel:

echo xfce4-session > $HOME/.xsession chmod +x .xsession

there are lots of failsafes but when the system is minimally installed there is really no failsafe on ol8 so failing to launch a desktop environment will result in normal action = ending the xorg xrdp session

places to look to see how things are tried:
/usr/libexec/xrdp/startwm.sh <- this is where searching for a desktop session or window manager begins

inside you will see it is searching for /etc/X11/xinit/Xsession /etc/X11/Xsession /etc/X11/xdm/Xsession etc... look inside those which eventually you'll see failsafes desperately trying $HOME/.xsession, $HOME/.Xclients, /etc/X11/xinit/Xclients, xsm, xclock, xterm, twm, firefox... but NONE of these come into a minimal ol8 installation! that's why you HAVE to intercept these and put something into your $HOME/.xsession or $HOME/.Xclients and make it executable (scripts check if they are executable)

if you want it system-wide, put this in /etc/sysconfig/desktop (/etc/X11/xinit/Xclients looks for it):
PREFERRED=/bin/icewm-session
(or /usr/bin/xfce4-session or whatever unusual wm session you have - make sure the binary is there, for example xfce is installed by xfce4-session rpm)

this worked for me on oracle linux 8 minimal install with xfce4 from epel:

echo xfce4-session > $HOME/.xsession
chmod +x .xsession

there are lots of failsafes but when the system is minimally installed there is really no failsafe on ol8 so failing to launch a desktop environment will result in normal action = ending the xorg xrdp session

places to look to see how things are tried:
/usr/libexec/xrdp/startwm.sh <- this is where searching for a desktop session or window manager begins

inside you will see it is searching for /etc/X11/xinit/Xsession /etc/X11/Xsession /etc/X11/xdm/Xsession etc... look inside those which eventually you'll see failsafes desperately trying $HOME/.xsession, $HOME/.Xclients, /etc/X11/xinit/Xclients, xsm, xclock, xterm, twm, firefox... but NONE of these come into a minimal ol8 installation! that's why you HAVE to intercept these and put something into your $HOME/.xsession or $HOME/.Xclients and make it executable (scripts check if they are executable)

if you want it system-wide, put this in /etc/sysconfig/desktop (/etc/X11/xinit/Xclients looks for it):
PREFERRED=/bin/icewm-session
(or /usr/bin/xfce4-session or whatever unusual wm session you have - make sure the binary is there, for example xfce is installed by xfce4-session rpm)

This worked for me in Ubuntu Bionic. Thanks very much for posting it.

chmod +x .xsession

worked for Ubuntu, thanks a lot.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Rubarius picture Rubarius  ·  5Comments

porunov picture porunov  ·  3Comments

Vraiment picture Vraiment  ·  6Comments

Zer0CoolX picture Zer0CoolX  ·  3Comments

jsorg71 picture jsorg71  ·  7Comments