This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goserver. commit 86fdb21cea3012310b49c9489b5f58deab1786ff Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Wed Jun 19 15:58:19 2024 +0200 * x2goserver/bin/x2goruncommand: - Fix hanging blank screen after logout from DE. --- debian/changelog | 4 ++++ x2goserver/bin/x2goruncommand | 20 +++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1e7f9255..a525e11d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,10 @@ x2goserver (4.1.0.7-0x2go1) UNRELEASED; urgency=medium 'startkde' as command, neither 'startplasma-x11' nor the more generic 'KDE'). + [ Oleksandr Shneyder ] + * x2goserver/bin/x2goruncommand: + - Fix hanging blank screen after logout from DE. + -- X2Go Release Manager <git-admin@x2go.org> Fri, 18 Aug 2023 06:16:06 +0200 x2goserver (4.1.0.6-0x2go1) unstable; urgency=medium diff --git a/x2goserver/bin/x2goruncommand b/x2goserver/bin/x2goruncommand index 080cee21..e2762798 100755 --- a/x2goserver/bin/x2goruncommand +++ b/x2goserver/bin/x2goruncommand @@ -396,15 +396,17 @@ if [ "$EXEC" != "" ] && [ -x "$EXEC" ]; then XSESSION_EXEC="$cmd" STARTUP="/usr/bin/env LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ${STARTUP}" ${dbus_wrapper} /etc/x2go/Xsession >> "$MESSAGE_FILE" 2>&1 else "$X2GO_LIB_PATH/x2gosyslog" "$0" "debug" "executing command \"$cmd$args\"..." - - # This is gonna be a nasty trick now... - # Most applications run in foreground (fine!), but some fork to background (urgghh... e.g. konsole, iceweasel, etc.). - # By capturing their STDOUT, we force the process to remain in (sort of) foreground until the process has finished. - # This works fabulously with all applications that don't cleanly close their file descriptors (which is probably - # 99% of all applications out there...). - - STDOUT=`$EXEC_WRAPPER $cmd$args` - + if ( [ "x$X2GO_SESS_TYPE" = "xD" ] || [ "x$X2GO_SESS_TYPE" = "xK" ] ); then + # for desktop sessions don't wait for descriptors to be closed + $EXEC_WRAPPER $cmd$args + else + # This is gonna be a nasty trick now... + # Most applications run in foreground (fine!), but some fork to background (urgghh... e.g. konsole, iceweasel, etc.). + # By capturing their STDOUT, we force the process to remain in (sort of) foreground until the process has finished. + # This works fabulously with all applications that don't cleanly close their file descriptors (which is probably + # 99% of all applications out there...). + STDOUT=`$EXEC_WRAPPER $cmd$args` + fi fi if [ "$X2GO_SESS_TYPE" == "R" ] && [ "$IMEXIT" == "true" ]; then -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goserver.git