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@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).