[X2Go-Commits] x2goserver.git - master (branch) updated: 3.1.1.3-234-g8d72da3

X2Go dev team git-admin at x2go.org
Mon Nov 18 16:12:38 CET 2013


The branch, master has been updated
       via  8d72da3d2d79febdb38d2949e70ee879072aec77 (commit)
      from  e624ebc4909db5813271b07e9544cd3474ead94e (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 8d72da3d2d79febdb38d2949e70ee879072aec77
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).

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

Summary of changes:
 debian/changelog                  |    3 +++
 x2goserver/bin/x2goresume-session |   23 ++++++++++++++++++-----
 x2goserver/bin/x2gostartagent     |   34 ++++++++++++++++++++++++++--------
 3 files changed, 47 insertions(+), 13 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 0abc0b1..9344fe6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -41,6 +41,9 @@ x2goserver (4.1.0.0-0~x2go1) UNRELEASED; urgency=low
       x2goserver.conf in new x2goserver-common package.
     + Move several x2goserver-* package to x2goserver's Recommends field.
     + Add Reinhard Tartler to Uploaders.
+    + 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/x2goserver.init:
     + Rely on $PATH when invoking x2gocleansessions.
   * Move code in pre/post+inst/rm scripts around (from x2goserver package
diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session
index f3a1387..4afe24b 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 7b94862..528db6f 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -217,16 +217,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"`
@@ -257,7 +267,6 @@ fi
 X2GO_COOKIE=`mcookie`
 
 
-
 PATH="${PATH}:${X2GO_BIN}/"
 export PATH
 
@@ -266,10 +275,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
 
 
@@ -299,13 +313,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" 
@@ -331,7 +349,7 @@ X2GO_SND_PORT=1024
 if [ -n "$SHADREQ_USER" ]; then
 	$X2GO_LIB_PATH/x2gocreateshadowsession "$X2GO_COOKIE" "$X2GO_AGENT_PID" "$X2GO_CLIENT" "$GR_PORT" "$SOUND_PORT" "$FS_PORT" "$SESSION_NAME" "$SHADREQ_USER" > /dev/null
 else
-	$X2GO_LIB_PATH/x2gocreatesession "$X2GO_COOKIE" "$X2GO_AGENT_PID" "$X2GO_CLIENT" "$GR_PORT" "$SOUND_PORT" "$FS_PORT" "$SESSION_NAME" > /dev/null#
+	$X2GO_LIB_PATH/x2gocreatesession "$X2GO_COOKIE" "$X2GO_AGENT_PID" "$X2GO_CLIENT" "$GR_PORT" "$SOUND_PORT" "$FS_PORT" "$SESSION_NAME" > /dev/null
 fi
 
 if [ "$X2GO_SET_KBD" == "0" ] || [ "$X2GO_KBD_TYPE" != "auto" ]; then


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