[X2Go-Commits] [x2goserver] 01/05: 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).
git-admin at x2go.org
git-admin at x2go.org
Fri Feb 21 14:21:31 CET 2014
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch release/4.0.0.x
in repository x2goserver.
commit 009d27fa6d099b2a0880cc21b3cacfc042679857
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
---
debian/changelog | 4 ++++
x2goserver/bin/x2goresume-session | 23 ++++++++++++++++++-----
x2goserver/bin/x2gostartagent | 32 +++++++++++++++++++++++++-------
3 files changed, 47 insertions(+), 12 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index b03d56f..29ed88f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,10 @@ x2goserver (4.0.0.11-0x2go1) unstable; urgency=low
* New upstream version (4.0.0.11):
- Use perl instead of sed for search+replace in session names sanitizing.
(Fixes: #404).
+ * Adopt this patch from stable release branch and apply to LTS branch:
+ - 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).
-- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Mon, 20 Jan 2014 14:00:42 +0100
diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session
index 0c9d4ae..f663bc9 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
@@ -144,6 +153,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 29f83b1..db43d7d 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -188,16 +188,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"`
@@ -228,7 +238,6 @@ fi
X2GO_COOKIE=`mcookie`
-
PATH="${PATH}:${X2GO_BIN}/"
export PATH
@@ -237,10 +246,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
@@ -270,13 +284,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"
--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
More information about the x2go-commits
mailing list