From unknown Wed Apr 08 23:38:08 2026
X-Loop: owner@bugs.x2go.org
Subject: Bug#1035: capture x2goruncommand debug output for x2gofeature X2GO_XSESSION
Reply-To: Tor Perkins <x2go34@noid.net>, 1035@bugs.x2go.org
Resent-From: Tor Perkins <x2go34@noid.net>
Resent-To: x2go-dev@lists.x2go.org
Resent-CC: X2Go Developers <x2go-dev@lists.x2go.org>
X-Loop: owner@bugs.x2go.org
Resent-Date: Sat, 14 May 2016 15:00:02 +0000
Resent-Message-ID: <handler.1035.B.146323785118521@bugs.x2go.org>
Resent-Sender: owner@bugs.x2go.org
X-X2Go-PR-Message: report 1035
X-X2Go-PR-Package: x2goserver
X-X2Go-PR-Keywords: patch
Received: via spool by submit@bugs.x2go.org id=B.146323785118521
          (code B); Sat, 14 May 2016 15:00:02 +0000
Received: (at submit) by bugs.x2go.org; 14 May 2016 14:57:31 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: *
X-Spam-Status: No, score=1.8 required=3.0 tests=BAYES_50,DATE_IN_PAST_12_24
	autolearn=no version=3.3.2
Received: from localhost (localhost [127.0.0.1])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTP id 12D2F5DACF
	for <submit@bugs.x2go.org>; Sat, 14 May 2016 16:57:30 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at ymir.das-netzwerkteam.de
Received: from ymir.das-netzwerkteam.de ([127.0.0.1])
	by localhost (ymir.das-netzwerkteam.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id oRzhG8+ncvvb for <submit@bugs.x2go.org>;
	Sat, 14 May 2016 16:57:23 +0200 (CEST)
Received: from anoid.noid.net (anoid.noid.net [74.95.194.161])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTP id CFEF65DA8E
	for <submit@bugs.x2go.org>; Sat, 14 May 2016 16:57:22 +0200 (CEST)
Received: from anoid.noid.net (localhost.noid.net [127.0.0.1])
	by anoid.noid.net (GNU) with ESMTP id bfa35010
	for <submit@bugs.x2go.org>;
	Sat, 14 May 2016 07:57:21 -0700 (PDT)
From: Tor Perkins <x2go34@noid.net>
Date: Fri, 13 May 2016 09:58:12 -0700
To: submit@bugs.x2go.org
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------1.7.2.5"
Message-ID: <20160514145720.6FA7F32B800B@noid.net>
X-Mini-Diatribe: To fix America:
	1. Cut government in half
	2. Wait thirty years
	3. Repeat as necessary

This is a multi-part message in MIME format.
--------------1.7.2.5
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit

Package: x2goserver
Version: 4.0.1.19
Tags: patch


Hello,

I had recently had a problem with my /etc/xprofile file that
prevented session startup.  The details are not too important; it
had to do with a difference of default shell (/bin/sh) being either
/bin/dash or /bin/bash.

After enabling the 'debug' loglevel on the server, I still had no
helpful output indicating what the problem might be...

I did some ferreting about and noticed that x2goruncommand was not
capturing cmd output when using x2gofeature X2GO_XSESSION
(/etc/x2go/Xsession).  The client side invocation of x2goruncommand
(via sshlib) redirects remote command output to /dev/null, so it is
also not preserved when using the client's --debug option...

This small patch appends the missing output to an already existing
debug file in x2goruncommand ($MESSAGE_FILE).  With this in place, I
was able to see the "smoking gun":

  cat ~/.x2go/C-user-50-1463156913_stD.Xclients_dp24/cmdoutput

    exec /root/.Xclients
    Loading profile from /etc/profile
    Loading profile from /root/.profile
    Loading profile from /etc/xprofile
    /etc/xprofile: 14: Bad substitution        <--  whoop!

The file is deleted (as before) if not at loglevel debug.

Thanks for your consideration.

- Tor



--------------1.7.2.5
Content-Type: text/x-patch; name="0001-capture-x2goruncommand-debug-output-for-x2gofeature-.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-capture-x2goruncommand-debug-output-for-x2gofeature-.patch"

diff --git a/x2goserver/bin/x2goruncommand b/x2goserver/bin/x2goruncommand
index 43b4064..0ca2e35 100755
--- a/x2goserver/bin/x2goruncommand
+++ b/x2goserver/bin/x2goruncommand
@@ -313,7 +313,7 @@ if [ "$EXEC" != "" ] && [ -x "$EXEC" ]; then
 	if x2gofeature X2GO_XSESSION &>/dev/null && [ "x$X2GO_SESS_TYPE" = "xD" ]; then
 		STARTUP="$cmd$args"
 		"$X2GO_LIB_PATH/x2gosyslog" "$0" "notice" "launching session with Xsession-x2go mechanism, using STARTUP=\"$STARTUP\""
-		XSESSION_EXEC="$cmd" STARTUP="/usr/bin/env LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ${STARTUP}" /etc/x2go/Xsession
+		XSESSION_EXEC="$cmd" STARTUP="/usr/bin/env LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ${STARTUP}" /etc/x2go/Xsession >>"$MESSAGE_FILE" 2>&1
 	else
 		"$X2GO_LIB_PATH/x2gosyslog" "$0" "debug" "executing command \"$cmd$args\"..."


--------------1.7.2.5--
