[X2Go-Commits] [x2goserver] 01/02: * x2goserver/bin/x2goruncommand: - Fix hanging blank screen after logout from DE.

git-admin at x2go.org git-admin at x2go.org
Wed Jun 19 16:23:25 CEST 2024


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 at 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 at 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


More information about the x2go-commits mailing list