[X2Go-Commits] x2goserver.git - release/4.0.1.x (branch) updated: 4.0.1.6-19-g90cd1a0

X2Go dev team git-admin at x2go.org
Thu Nov 21 23:09:12 CET 2013


The branch, release/4.0.1.x has been updated
       via  90cd1a0343765c6581d06ce41e4007e32740366e (commit)
      from  25e91a5dcbb4643a943097e4c2325ebac2570372 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 90cd1a0343765c6581d06ce41e4007e32740366e
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Mon Nov 18 15:39:28 2013 +0100

    Start/resume rootless sessions without geometry parameter. Esp. using X2GO_GEOMETRY=fullscreen for rootless sessions lead to an extra 1x1 px session window (nxagentCreateIconWindow in nxagent's Window.c).
    
    Conflicts (resolved by Mike Gabriel):
    	debian/changelog
    	x2goserver/bin/x2gostartagent

-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                  |    7 +++++--
 x2goserver/bin/x2goresume-session |   23 ++++++++++++++++++-----
 x2goserver/bin/x2gostartagent     |   32 +++++++++++++++++++++++++-------
 3 files changed, 48 insertions(+), 14 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 1adfedb..f78fb29 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -20,13 +20,16 @@ x2goserver (4.0.1.7-0~x2go1) UNRELEASED; urgency=low
       launching sessions. Also, prevent x2gouser_root from being added as a
       PostgreSQL user. (Fixes: #310).
     - Execute DB status changes as late as possible during suspend / terminate.
-  * /debian/control:
+    - Start/resume rootless sessions without geometry parameter. Esp. using
+      X2GO_GEOMETRY=fullscreen for rootless sessions lead to an extra 1x1 px
+      session window (nxagentCreateIconWindow in nxagent's Window.c).
+  * debian/control:
     + Update LONG_DESCRIPTIONS.
     + Move xfonts-base from Recommends: field to Depends: field (bin:package
       x2goserver).
     + Raise Standards: to 3.9.4 (no changes needed).
     + Move xfonts-base to Recommends: field of bin:package x2goserver.
-  * /debian/x2goserver.init:
+  * debian/x2goserver.init:
     + Make init script LSB compliant.
 
   [ Helmer Teles ]
diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session
index 9c8e2bc..a39c76e 100755
--- a/x2goserver/bin/x2goresume-session
+++ b/x2goserver/bin/x2goresume-session
@@ -43,13 +43,22 @@ fi
 
 $X2GO_LIB_PATH/x2gosyslog "$0" "info" "$(basename $0) called with options: $@"
 
-if [ "$X2GO_GEOMETRY" == "" ]
-then
-	X2GO_GEOMETRY=fullscreen
+
+# rootless sessions require to be resizable
+if [ "$SESSION_TYPE" == "R" ]; then
+	X2GO_RESIZE=1
 fi
 
-if [ "$X2GO_GEOMETRY" == "fullscreen" ]
-then
+# rootless sessions of geometry fullscreen are invalid
+if [ "$X2GO_GEOMETRY" == "fullscreen" ] && [ "$SESSION_TYPE" == "R" ]; then
+	X2GO_GEOMETRY=""
+fi
+
+# no geometry for desktop sessions shall result in fullscreen desktop sessions
+if [ "$X2GO_GEOMETRY" == "" ] && [ "$SESSION_TYPE" == "D" ]; then
+	X2GO_GEOMETRY="fullscreen"
+fi
+if [ "$X2GO_GEOMETRY" == "fullscreen" ]; then
 	X2GO_RESIZE=1
 	X2GO_FULLSCREEN=1
 fi
@@ -146,6 +155,10 @@ NEWOPTIONS=`echo "$OPTIONS" | sed  -e  "s/$LSTR/link=$X2GO_LINK/"\
  -e "s/$LISTSTR/listen=$GR_PORT/"\
  -e "s/$FSTR/fullscreen=$X2GO_FULLSCREEN/"`
 
+if [ -z "$X2GO_GEOMETRY" ] || [ "$X2GO_GEOMETRY" == "fullscreen" ]; then
+	NEWOPTIONS=`echo $NEWOPTIONS | sed -e "s/geometry=${X2GO_GEOMETRY},//"`
+fi
+
 X2GO_CLIENT=`echo "$SSH_CLIENT" | awk '{print $1}'`
 if [ "$X2GO_CLIENT" == "" ]
 then
diff --git a/x2goserver/bin/x2gostartagent b/x2goserver/bin/x2gostartagent
index 66b5e5e..5127865 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -206,16 +206,26 @@ while [ "$GR_PORT" == "" ] || [ "$SOUND_PORT" == "" ] || [ "$FS_PORT" == "" ]; d
 	fi
 done
 
+# rootless sessions require to be resizable
+if [ "$SESSION_TYPE" == "R" ]; then
+	X2GO_RESIZE=1
+fi
 
-if [ "$X2GO_GEOMETRY" == "" ]; then
-	X2GO_GEOMETRY=fullscreen
+# rootless sessions of geometry fullscreen are invalid
+if [ "$X2GO_GEOMETRY" == "fullscreen" ] && [ "$SESSION_TYPE" == "R" ]; then
+	X2GO_GEOMETRY=""
 fi
 
+# no geometry for desktop sessions shall result in fullscreen desktop sessions
+if [ "$X2GO_GEOMETRY" == "" ] && [ "$SESSION_TYPE" == "D" ]; then
+	X2GO_GEOMETRY="fullscreen"
+fi
 if [ "$X2GO_GEOMETRY" == "fullscreen" ]; then
 	X2GO_RESIZE=1
 	X2GO_FULLSCREEN=1
 fi
 
+# shadow sessions are never fullscreen session and adopt the original session's geometry
 if [ "$X2GO_STYPE" == "S" ]; then
 	X2GO_GEOMETRY=`DISPLAY="$SHADOW_DESKTOP" xwininfo -root | grep geometry`
 	X2GO_GEOMETRY=`echo "$X2GO_GEOMETRY" | sed  -e  "s/ //g"`
@@ -246,7 +256,6 @@ fi
 X2GO_COOKIE=`mcookie`
 
 
-
 PATH="${PATH}:${X2GO_BIN}/"
 export PATH
 
@@ -255,10 +264,15 @@ xauth -f "$XAUTHORITY" add "${HOSTNAME}/unix:${X2GO_PORT}" MIT-MAGIC-COOKIE-1 "$
 xauth -f "$XAUTHORITY" add "${HOSTNAME}:${X2GO_PORT}" MIT-MAGIC-COOKIE-1 "${X2GO_COOKIE}"
 
 
+option_geometry=""
+if [ -n "$X2GO_GEOMETRY" ] && [ "$X2GO_GEOMETRY" != "fullscreen" ]; then
+	option_geometry="geometry=${X2GO_GEOMETRY},"
+fi
+
 if [ "$X2GO_SET_KBD" == "0" ] || [ "$X2GO_KBD_TYPE" == "auto" ];then
-    X2GO_HOST="nx/nx,link=${X2GO_LINK},pack=${X2GO_PACK},limit=0,root=${SESSION_DIR},cache=8M,images=32M,type=${X2GO_TYPE},id=${SESSION_NAME},cookie=$X2GO_COOKIE,errors=${SESSION_LOG},kbtype=null/null,geometry=${X2GO_GEOMETRY},resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT},client=linux,menu=0"
+    X2GO_HOST="nx/nx,link=${X2GO_LINK},pack=${X2GO_PACK},limit=0,root=${SESSION_DIR},cache=8M,images=32M,type=${X2GO_TYPE},id=${SESSION_NAME},cookie=$X2GO_COOKIE,errors=${SESSION_LOG},kbtype=null/null,${option_geometry}resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT},client=linux,menu=0"
 else
-    X2GO_HOST="nx/nx,link=${X2GO_LINK},pack=${X2GO_PACK},limit=0,root=${SESSION_DIR},cache=8M,images=32M,type=${X2GO_TYPE},id=${SESSION_NAME},cookie=$X2GO_COOKIE,errors=${SESSION_LOG},kbtype=${X2GO_KBD_TYPE},geometry=${X2GO_GEOMETRY},resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT},client=linux,menu=0"
+    X2GO_HOST="nx/nx,link=${X2GO_LINK},pack=${X2GO_PACK},limit=0,root=${SESSION_DIR},cache=8M,images=32M,type=${X2GO_TYPE},id=${SESSION_NAME},cookie=$X2GO_COOKIE,errors=${SESSION_LOG},kbtype=${X2GO_KBD_TYPE},${option_geometry}resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT},client=linux,menu=0"
 fi
 
 
@@ -288,13 +302,17 @@ fi
 x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions "$SESSION_NAME" pre-start || true
 
 SESSION_WINDOW_TITLE="X2GO-${SESSION_NAME}"
+agent_geometry=""
+if [ -n "$X2GO_GEOMETRY" ] && [ "$X2GO_GEOMETRY" != "fullscreen" ]; then
+	agent_geometry="-geometry ${X2GO_GEOMETRY}"
+fi
 
 if  [ "$X2GO_STYPE" == "S" ]; then
 	# set NX_TEMP to /tmp, make sure x2goagent starts when pam_tmpdir.so is in use
-	NX_TEMP=/tmp x2goagent $X2GO_NXAGENT_OPTIONS $NOLISTOPT $X2GODPIOPTION_ -$SESSION_TYPE -auth "$XAUTHORITY" -shadow $SHADOW_DESKTOP -shadowmode $SHADOW_MODE -geometry ${X2GO_GEOMETRY} -name "${SESSION_WINDOW_TITLE}"  "${NX_AGENT}" 2>"${SESSION_LOG}" &
+	NX_TEMP=/tmp x2goagent $X2GO_NXAGENT_OPTIONS $NOLISTOPT $X2GODPIOPTION_ -$SESSION_TYPE -auth "$XAUTHORITY" -shadow $SHADOW_DESKTOP -shadowmode $SHADOW_MODE $agent_geometry -name "${SESSION_WINDOW_TITLE}"  "${NX_AGENT}" 2>"${SESSION_LOG}" &
 else
 	# set NX_TEMP to /tmp, make sure x2goagent starts when pam_tmpdir.so is in use
-	NX_TEMP=/tmp x2goagent $X2GO_NXAGENT_OPTIONS $NOLISTOPT $X2GODPIOPTION_ $XDMCPOPT -$SESSION_TYPE $NOEXITPARAM -auth "$XAUTHORITY" -geometry ${X2GO_GEOMETRY} -name "${SESSION_WINDOW_TITLE}"  "${NX_AGENT}" 2>"${SESSION_LOG}" &
+	NX_TEMP=/tmp x2goagent $X2GO_NXAGENT_OPTIONS $NOLISTOPT $X2GODPIOPTION_ $XDMCPOPT -$SESSION_TYPE $NOEXITPARAM -auth "$XAUTHORITY" $agent_geometry -name "${SESSION_WINDOW_TITLE}"  "${NX_AGENT}" 2>"${SESSION_LOG}" &
 fi
 
 ln -s "${SESSION_LOG}" "${SESSION_DIR}/session.log" 


hooks/post-receive
-- 
x2goserver.git (X2Go Server)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2goserver.git" (X2Go Server).




More information about the x2go-commits mailing list