Subject: X2Go Agent terminates unexpectedly only for LDAP users

From: Fred Chen <[email-masked]>
Date: Tue, 9 Apr 2019 23:55:50 -0700

Package: x2goagent
Version: 4.1.0.3-1

=====================

It's not clear if this is an issue with x2goagent, x2goserver or perhaps
some server configuration problem.

* We ran into this problem on CentOS 7.6 (kernel 3.10.0-957.10.1) where we
could not remotely connect to the server using X2GO and the only error
message of note was: "Failed to start X2Go Agent session with ID
fred-<Session #>_stDMATE_dp32. X2Go Agent terminated unexpectedly. Aborting
session startup." (Longer output of /var/log/messages below)

* This problem only seems to be present for users authenticated via LDAP
(via sssd/pam). When I created a dummy local user (with identical login
shell setup), I was able to launch an X2GO session as that user with no
problem (using the same client).

* The LDAP user can SSH into the server and can also launch a remote
desktop session with xrdp using a Royal TS client. That remote desktop
session exercises most of the same services required by X2GO such as
systemd-logind, which helps rule out those services.

* It also appears that when starting the X2GO session that the LDAP user
authenticates successfully to initiate the creation of a session so I don't
believe it is an authentication issue.  It almost seems as if some user
credentials (uid or uidNumber) get lost or dropped when passed to
nx-libs/x2goagent that prevent creation of the display port and ultimately
terminates the session.

Apr  9 23:39:47 lioncub7 systemd-logind: Removed session 2.
Apr  9 23:39:47 lioncub7 systemd: Removed slice User Slice of fred.
Apr  9 23:39:48 lioncub7 systemd: Created slice User Slice of fred.
Apr  9 23:39:48 lioncub7 systemd-logind: New session 10 of user fred.
Apr  9 23:39:48 lioncub7 systemd: Started Session 10 of user fred.
Apr  9 23:39:50 lioncub7 /usr/bin/x2gostartagent: x2gostartagent called
with options: 1920x1170 wan 16m-jpeg-9 unix-kde-depth_32 us auto 1 D MATE
both
Apr  9 23:39:50 lioncub7 /usr/bin/x2gosessionlimit[16405]: x2gosessionlimit
has been called
Apr  9 23:39:51 lioncub7 x2golistsessions: x2golistsessions has been called
with options: --all-servers
Apr  9 23:39:51 lioncub7 x2gocleansessions:
fred-50-1554878391_stDMATE_dp32: state file for this session does not
exist: /tmp/.x2go-fred/C-fred-50-1554878391_stDMATE_dp32/state (this can be
ignored during session startups)
Apr  9 23:39:52 lioncub7 /usr/bin/x2gofeature: x2gofeature called with
options: X2GO_RUN_EXTENSIONS
Apr  9 23:39:52 lioncub7
/usr/share/x2go/x2gofeature.d/x2goserver-extensions.features:
x2goserver-extensions.features called with options: X2GO_RUN_EXTENSIONS
Apr  9 23:39:52 lioncub7 /usr/bin/x2goserver-run-extensions:
x2goserver-run-extensions called with options:
fred-50-1554878391_stDMATE_dp32 pre-start
Apr  9 23:39:52 lioncub7 /usr/bin/x2gostartagent: creating new session:
fred-50-1554878391_stDMATE_dp32 3bb04b5de35c14108c76e0b7bd59214f 16535
*<Internal
IP>* 39539 39540 39541 -1 -1
Apr  9 23:39:52 lioncub7 /usr/bin/x2gostartagent: Failed to start X2Go
Agent session with ID fred-50-1554878391_stDMATE_dp32. X2Go Agent
terminated unexpectedly. Aborting session startup.
Apr  9 23:39:52 lioncub7 /usr/bin/x2gofeature: x2gofeature called with
options: X2GO_RUN_EXTENSIONS
Apr  9 23:39:52 lioncub7
/usr/share/x2go/x2gofeature.d/x2goserver-extensions.features:
x2goserver-extensions.features called with options: X2GO_RUN_EXTENSIONS
Apr  9 23:39:52 lioncub7 /usr/bin/x2goserver-run-extensions:
x2goserver-run-extensions called with options:
fred-50-1554878391_stDMATE_dp32 fail-start
Apr  9 23:40:01 lioncub7 systemd: Started Session 11 of user root.
Apr  9 23:40:23 lioncub7 su: (to fred) root on none
Apr  9 23:40:23 lioncub7 systemd: Started Session c6 of user fred.
Apr  9 23:40:23 lioncub7 su: (to fred) root on none
Apr  9 23:40:23 lioncub7 systemd: Started Session c7 of user fred.
Apr  9 23:40:23 lioncub7 x2goumount-session: x2goumount-session has been
called with options: fred-50-1554878391_stDMATE_dp32