[X2Go-Commits] [x2goserver] 01/01: x2goserver/bin/x2go{startagent, resume-ression}: instead of disabling RANDR Xinerama if no xinerama support has been requested, switch to modifying the xinerama nx/nx option.

git-admin at x2go.org git-admin at x2go.org
Fri Jan 12 10:08:29 CET 2018


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2goserver.

commit 9cb7beb178053e602e9f948739e1ecde2f986cae
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Fri Jan 12 10:04:56 2018 +0100

    x2goserver/bin/x2go{startagent,resume-ression}: instead of disabling RANDR Xinerama if no xinerama support has been requested, switch to modifying the xinerama nx/nx option.
    
    For x2gostartagent, that means a variable rename from
    X2GO_RANDR_XINERAMA to X2GO_XINERAMA with essentially the same
    semantics.
    
    For x2goresume-session, a new parameter is added.
---
 debian/changelog                  |  6 ++++++
 x2goserver/bin/x2goresume-session | 17 ++++++++++++-----
 x2goserver/bin/x2gostartagent     | 16 ++++++++--------
 3 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 81eb62e..70a1e8f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -216,6 +216,12 @@ x2goserver (4.1.0.0-0x2go1.2) UNRELEASED; urgency=low
     - x2goserver/bin/x2gostartagent: add FIXME entry for the SHADREQ_USER
       optional parameter. No client actually uses it and it makes the whole
       parameter handling fragile.
+    - x2goserver/bin/x2go{startagent,resume-ression}: instead of disabling
+      RANDR Xinerama if no xinerama support has been requested, switch to
+      modifying the xinerama nx/nx option. For x2gostartagent, that means a
+      variable rename from X2GO_RANDR_XINERAMA to X2GO_XINERAMA with
+      essentially the same semantics. For x2goresume-session, a new parameter
+      is added.
   * x2goserver.spec:
     - Only create session DB in x2goserver's post install script. Do use
       proper Requires(post) statements to make sure perl-X2Go-Server-DB and
diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session
index 97a7dbb..f3aec12 100755
--- a/x2goserver/bin/x2goresume-session
+++ b/x2goserver/bin/x2goresume-session
@@ -37,6 +37,7 @@ X2GO_PACK="${4}"
 X2GO_KBD_TYPE="${6}"
 X2GO_SET_KBD="${7}"
 X2GO_CLIPBOARD="${8}"
+typeset X2GO_XINERAMA="${9}"
 
 X2GO_AGENT_PID="$("${X2GO_LIB_PATH}/x2gogetagent" "${SESSION_NAME}")"
 
@@ -263,18 +264,21 @@ LSTR="$(awk -F ',' '{print $2}' <<< "${OPTIONS}")"
 PSTR="$(awk -F ',' '{print $3}' <<< "${OPTIONS}")"
 KTSTR="$(awk -F ',' '{print $12}' <<< "${OPTIONS}")"
 GSTR="$(awk -F ',' '{print $13}' <<< "${OPTIONS}")"
+typeset xinerama_orig=''
 test_GSTR="$(sed 's/geometry=.*//' <<< "${GSTR}")"
 if [[ -n "${test_GSTR}" ]]; then
 	GSTR='geometry='
-	RSTR="$(awk -F ',' '{print $13}' <<< "${OPTIONS}")"
-	FSTR="$(awk -F ',' '{print $14}' <<< "${OPTIONS}")"
-	LISTSTR="$(awk -F ',' '{print $16}' <<< "${OPTIONS}")"
-	CLIPBOARD="$(awk -F ',' '{print $17}' <<< "${OPTIONS}")"
-else
+	xinerama_orig="$(awk -F ',' '{print $13}' <<< "${OPTIONS}")"
 	RSTR="$(awk -F ',' '{print $14}' <<< "${OPTIONS}")"
 	FSTR="$(awk -F ',' '{print $15}' <<< "${OPTIONS}")"
 	LISTSTR="$(awk -F ',' '{print $17}' <<< "${OPTIONS}")"
 	CLIPBOARD="$(awk -F ',' '{print $18}' <<< "${OPTIONS}")"
+else
+	xinerama_orig="$(awk -F ',' '{print $14}' <<< "${OPTIONS}")"
+	RSTR="$(awk -F ',' '{print $15}' <<< "${OPTIONS}")"
+	FSTR="$(awk -F ',' '{print $16}' <<< "${OPTIONS}")"
+	LISTSTR="$(awk -F ',' '{print $18}' <<< "${OPTIONS}")"
+	CLIPBOARD="$(awk -F ',' '{print $19}' <<< "${OPTIONS}")"
 fi
 
 KTSTR="$(sed -e 's#/#\\/#' <<< "${KTSTR}")"
@@ -293,10 +297,13 @@ else
 	clipboard='clipboard=both'
 fi
 
+typeset xinerama_option="$("${X2GO_LIB_PATH}/x2goistrue" "${X2GO_XINERAMA}")"
+
 NEWOPTIONS="$(sed -e "s/${LSTR}/link=${X2GO_LINK}/" \
                   -e "s/${PSTR}/pack=${X2GO_PACK}/" \
                   -e "s/${KTSTR}/kbtype=${keyboard_type}/" \
                   -e "s/${GSTR}/geometry=${X2GO_GEOMETRY}/" \
+                  -e "s/${xinerama_orig}/xinerama=${xinerama_option}/" \
                   -e "s/${RSTR}/resize=${X2GO_RESIZE}/" \
                   -e "s/${LISTSTR}/listen=${GR_PORT}/" \
                   -e "s/${FSTR}/fullscreen=${X2GO_FULLSCREEN}/" \
diff --git a/x2goserver/bin/x2gostartagent b/x2goserver/bin/x2gostartagent
index 941627c..d6ecaa3 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -120,7 +120,7 @@ typeset -i x2go_randr_xinerama='1'
 # versions that supply a Xinerama configuration value and
 # also with older ones that do not, we pass it in as an
 # environment variable.
-[[ -n "${X2GO_RANDR_XINERAMA}" ]] && x2go_randr_xinerama="$("${X2GO_LIB_PATH}/x2goistrue" "${X2GO_RANDR_XINERAMA}")"
+[[ -n "${X2GO_XINERAMA}" ]] && x2go_xinerama="$("${X2GO_LIB_PATH}/x2goistrue" "${X2GO_XINERAMA}")"
 
 X2GO_GEOMETRY="${1}"; shift
 X2GO_LINK="${1}"; shift
@@ -400,10 +400,13 @@ else
 	clipboard=",clipboard=both"
 fi
 
+typeset xinerama_option='1'
+[[ "${x2go_xinerama}" = '0' ]] && xinerama_option='0'
+
 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,${option_geometry}resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT}${clipboard},client=linux,menu=0,state=${STATE_FILE}"
+	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}xinerama=${xinerama_option},resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT}${clipboard},client=linux,menu=0,state=${STATE_FILE}"
 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},${option_geometry}resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT}${clipboard},client=linux,menu=0,state=${STATE_FILE}"
+	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}xinerama=${xinerama_option},resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT}${clipboard},client=linux,menu=0,state=${STATE_FILE}"
 fi
 
 
@@ -444,9 +447,6 @@ if [[ -n "${X2GO_GEOMETRY}" ]] && [[ "${X2GO_GEOMETRY}" != 'fullscreen' ]]; then
 	agent_geometry="-geometry ${X2GO_GEOMETRY}"
 fi
 
-typeset randr_xinerama_option=''
-[[ "${x2go_randr_xinerama}" = '0' ]] && randr_xinerama_option='-rrxinerama'
-
 # systemd is prone to kill remaining sessions on user logouts.
 # That sort of makes sense to clean up stray processes,
 # but gets in the way of our persistent session scheme.
@@ -458,11 +458,11 @@ if [[ "${X2GO_STYPE}" = 'S' ]]; then
 	unset LD_LIBRARY_PATH
 	# set NX_TEMP to /tmp, make sure x2goagent starts when pam_tmpdir.so is in use
 	"${X2GO_LIB_PATH}/x2gosyslog" "${0}" 'debug' "started nxagent: NX_TEMP=/tmp x2goagent X2GO_NXAGENT_OPTIONS ('${X2GO_NXAGENT_OPTIONS}') NOLISTOPT ('${NOLISTOPT}') X2GODPIOPTION_ ('${X2GODPIOPTION_}') -SESSION_TYPE ('-${SESSION_TYPE}') -auth \"XAUTHORITY\" ('\"${XAUTHORITY}\"') -shadow SHADOW_DESKTOP ('${SHADOW_DESKTOP}') -shadowmode SHADOW_MODE ('${SHADOW_MODE}') agent_geometry ('${agent_geometry}') -name \"SESSION_WINDOW_TITLE\" ('\"${SESSION_WINDOW_TITLE}\"') \"NX_AGENT\" ('\"${NX_AGEN [...]
-	NX_TEMP='/tmp' x2goagent ${X2GO_NXAGENT_OPTIONS} ${NOLISTOPT} ${X2GODPIOPTION_} ${randr_xinerama_option} -${SESSION_TYPE} -auth "${XAUTHORITY}" -shadow ${SHADOW_DESKTOP} -shadowmode ${SHADOW_MODE} ${agent_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
 	"${X2GO_LIB_PATH}/x2gosyslog" "${0}" 'debug' "started nxagent: NX_TEMP=/tmp x2goagent X2GO_NXAGENT_OPTIONS ('${X2GO_NXAGENT_OPTIONS}') NOLISTOPT ('${NOLISTOPT}') X2GODPIOPTION_ ('${X2GODPIOPTION_}') XDMCPPOPT ('${XDMCPOPT}') -SESSION_TYPE ('-${SESSION_TYPE}') NOEXITPARAM ('${NOEXITPARAM}') -auth \"XAUTHORITY\" ('\"${XAUTHORITY}\"') agent_geometry ('${agent_geometry}') -name \"SESSION_WINDOW_TITLE\" ('\"${SESSION_WINDOW_TITLE}\"') \"NX_AGENT\" ('\"${NX_AGENT}\"') 2>\"SESSION_LOG\" ('\"${ [...]
-	NX_TEMP='/tmp' x2goagent ${X2GO_NXAGENT_OPTIONS} ${NOLISTOPT} ${X2GODPIOPTION_} ${XDMCPOPT} ${randr_xinerama_option} -${SESSION_TYPE} ${NOEXITPARAM} -auth "${XAUTHORITY}" ${agent_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_DIR}" "${X2GO_ROOT}/C-${SESSION_NAME}"

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goserver.git


More information about the x2go-commits mailing list