[X2Go-Commits] [live-build-x2go] 113/167: added code to support background and branding parameters

git-admin at x2go.org git-admin at x2go.org
Sat Nov 18 00:32:52 CET 2017


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

x2go pushed a commit to branch feature/openbox-magic-pixel-workaround
in repository live-build-x2go.

commit 69234c80b90553960210dd20c432504b7b219072
Author: Stefan Baur (BAUR-ITCS) <kontakt at baur-itcs.de>
Date:   Sat Sep 16 16:09:51 2017 +0200

    added code to support background and branding parameters
---
 .../lib/live/config/2710-x2go-getbranding          | 61 ++++++++++++++++++++++
 .../lib/live/config/2720-x2go-getbg                | 61 ++++++++++++++++++++++
 .../lib/live/config/2900-x2go-thinclientconfig     | 29 +++++++++-
 3 files changed, 149 insertions(+), 2 deletions(-)

diff --git a/config/includes.chroot/lib/live/config/2710-x2go-getbranding b/config/includes.chroot/lib/live/config/2710-x2go-getbranding
new file mode 100755
index 0000000..992371e
--- /dev/null
+++ b/config/includes.chroot/lib/live/config/2710-x2go-getbranding
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+X2GoGetBranding ()
+{
+	# Output startup message
+	#
+	echo -n " x2go-getbranding"
+
+
+	BRANDINGURL=$(cat /proc/cmdline | \
+		       tr ' ' '\n' | \
+		       awk -F'=' ' /^branding=/ { print $2 }')
+	BRANDINGDESTINATION=/etc/x2go/branding.svg
+
+	if [ -n "$BRANDINGURL"] ; then
+		cat >/etc/network/if-up.d/0410-getbranding <<GETBRAND
+#!/bin/bash
+export TERM=linux;
+
+if [ "\$METHOD" = "loopback" ] || [ "\$METHOD" = "none" ]; then
+        exit 0
+fi
+
+(
+	while ! [ -c /dev/tty8 ] ; do
+		echo -en "\n\$(date +'%F | %T | ')'\$0' is waiting for tty8 to become available."
+		sleep 2
+	done
+	while [ -z "\$(hostname -I)" ] ; do
+		echo -en "\n\$(date +'%F | %T | ')'\$0' is waiting for a client IP." | tee -a /dev/tty8
+		sleep 2
+	done
+
+	echo -en "\n\$(date +'%F | %T | ')'\$0': Attempting branding SVG download ..." | tee -a /dev/tty8
+	if echo "$BRANDINGURL" | grep -q "^tftp://" ; then
+		BRANDINGSERVER=$(echo "$BRANDINGURL" | sed 's#^tftp://\([^/]*\)/.*$#\1#' )
+		BRANDINGPATH=$(echo "$BRANDINGURL" | sed 's#^tftp://[^/]*/\(.*\)$#\1#' )
+		if [ -n "\$BRANDINGSERVER" ] && [ -n "\$BRANDINGPATH" ] ; then
+			while ! atftp \$BRANDINGSERVER -g -r \$BRANDINGPATH -l ${BRANDINGDESTINATION}.tmp ; do
+				echo -en "\n\$(date +'%F | %T | ')still waiting for branding SVG download (tftp) ..." | tee -a /dev/tty8
+				sleep 5
+			done
+		fi
+	else
+		while ! wget -q -O ${BRANDINGDESTINATION}.tmp $BRANDINGURL ; do
+			echo -en "\n\$(date +'%F | %T | ')still waiting for branding SVG download (wget) ..." | tee -a /dev/tty8
+			sleep 5 
+		done
+	fi
+
+	echo -en "\n\$(date +'%F | %T | ')'\$0': branding SVG download complete." | tee -a /dev/tty8
+	if ! [ -s ${BRANDINGDESTINATION}.tmp ] ; then
+		mv ${BRANDINGDESTINATION}.tmp $BRANDINGDESTINATION
+	fi
+) &
+GETBRAND
+		chmod 755 /etc/network/if-up.d/0410-getbranding
+	fi
+}
+
+X2GoGetBranding
diff --git a/config/includes.chroot/lib/live/config/2720-x2go-getbg b/config/includes.chroot/lib/live/config/2720-x2go-getbg
new file mode 100755
index 0000000..f15cad2
--- /dev/null
+++ b/config/includes.chroot/lib/live/config/2720-x2go-getbg
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+X2GoGetBG ()
+{
+	# Output startup message
+	#
+	echo -n " x2go-getbg"
+
+
+	BGURL=$(cat /proc/cmdline | \
+		       tr ' ' '\n' | \
+		       awk -F'=' ' /^bg=/ { print $2 }')
+	BGDESTINATION=/etc/x2go/bg.svg
+
+	if [ -n "$BGURL"] ; then
+		cat >/etc/network/if-up.d/0420-getbg <<GETBG
+#!/bin/bash
+export TERM=linux;
+
+if [ "\$METHOD" = "loopback" ] || [ "\$METHOD" = "none" ]; then
+        exit 0
+fi
+
+(
+	while ! [ -c /dev/tty8 ] ; do
+		echo -en "\n\$(date +'%F | %T | ')'\$0' is waiting for tty8 to become available."
+		sleep 2
+	done
+	while [ -z "\$(hostname -I)" ] ; do
+		echo -en "\n\$(date +'%F | %T | ')'\$0' is waiting for a client IP." | tee -a /dev/tty8
+		sleep 2
+	done
+
+	echo -en "\n\$(date +'%F | %T | ')'\$0': Attempting background SVG download ..." | tee -a /dev/tty8
+	if echo "$BGURL" | grep -q "^tftp://" ; then
+		BGSERVER=$(echo "$BGURL" | sed 's#^tftp://\([^/]*\)/.*$#\1#' )
+		BGPATH=$(echo "$BGURL" | sed 's#^tftp://[^/]*/\(.*\)$#\1#' )
+		if [ -n "\$BGSERVER" ] && [ -n "\$BGPATH" ] ; then
+			while ! atftp \$BGSERVER -g -r \$BGPATH -l ${BGDESTINATION}.tmp ; do
+				echo -en "\n\$(date +'%F | %T | ')still waiting for background SVG download (tftp) ..." | tee -a /dev/tty8
+				sleep 5
+			done
+		fi
+	else
+		while ! wget -q -O ${BGDESTINATION}.tmp $BGURL ; do
+			echo -en "\n\$(date +'%F | %T | ')still waiting for background SVG download (wget) ..." | tee -a /dev/tty8
+			sleep 5 
+		done
+	fi
+
+	echo -en "\n\$(date +'%F | %T | ')'\$0': background SVG download complete." | tee -a /dev/tty8
+	if ! [ -s ${BGDESTINATION}.tmp ] ; then
+		mv ${BGDESTINATION}.tmp $BGDESTINATION
+	fi
+) &
+GETBG
+		chmod 755 /etc/network/if-up.d/0420-getbg
+	fi
+}
+
+X2GoGetBranding
diff --git a/config/includes.chroot/lib/live/config/2900-x2go-thinclientconfig b/config/includes.chroot/lib/live/config/2900-x2go-thinclientconfig
index 87fbae9..01e20d1 100755
--- a/config/includes.chroot/lib/live/config/2900-x2go-thinclientconfig
+++ b/config/includes.chroot/lib/live/config/2900-x2go-thinclientconfig
@@ -102,13 +102,38 @@ LDAP2=\$(cat /proc/cmdline | \
 	    sed 's/^ldap2=/ldap2#/' | \
 	    awk -F'#' ' /^ldap2#/ { print \$2 }')
 
+
+# Check for background and branding SVGs
+BRANDING=''
+if grep -q ' branding=' /proc/cmdline; then
+	while ! [ -s /etc/x2go/branding.svg ]; do
+		OLDCON=\$(fgconsole)
+		chvt 1
+	        echo "'$0' is waiting for a valid '/etc/x2go/branding.svg' file."
+		sleep 2
+	done
+	[ -n "$OLDCON" ] && chvt $OLDCON
+	\$BRANDING='--branding=/etc/x2go/branding.svg'
+fi
+BACKGROUND=''
+if grep -q ' bg=' /proc/cmdline; then
+	while ! [ -s /etc/x2go/bg.svg ]; do
+		OLDCON=\$(fgconsole)
+		chvt 1
+	        echo "'$0' is waiting for a valid '/etc/x2go/bg.svg' file."
+		sleep 2
+	done
+	[ -n "$OLDCON" ] && chvt $OLDCON
+	\$BACKGROUND='--background=/etc/x2go/bg.svg'
+fi
+
 # Spawn X2GoClient
 if [ -n "\$BROKERURL" ]; then
 	SESSIONFROM="--broker-url=\$BROKERURL"
 else 
 	SESSIONFROM="--session-conf=/etc/x2go/x2gothinclient_sessions"
 	while ! [ -s /etc/x2go/x2gothinclient_sessions ]; do
-		OLDCON=$(fgconsole)
+		OLDCON=\$(fgconsole)
 		chvt 1
 	        echo "'$0' is waiting for a valid '/etc/x2go/x2gothinclient_sessions' file."
 		sleep 2
@@ -146,7 +171,7 @@ if [ -n "\$BLANKINGTIME" ]; then
 	fi
 fi
 
-x2goclient --thinclient --no-session-edit --no-menu --maximize --add-to-known-hosts --haltbt --read-exports-from=/home/user/export \$LDAPPARAMS \$SESSIONFROM
+x2goclient --thinclient --no-session-edit --no-menu --maximize --add-to-known-hosts --haltbt --read-exports-from=/home/user/export \$LDAPPARAMS \$SESSIONFROM \$BACKGROUND \$BRANDING
 XSESSION
 
 chown user:user /home/user/.xsession

--
Alioth's /srv/git/code.x2go.org/live-build-x2go.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/live-build-x2go.git


More information about the x2go-commits mailing list