summaryrefslogtreecommitdiffstats
path: root/remote/modules/xorg
diff options
context:
space:
mode:
authorJonathan Bauer2013-05-10 18:58:13 +0200
committerJonathan Bauer2013-05-10 18:58:13 +0200
commitc435ba694701a6cf28a724069f37ca44d4d305bf (patch)
tree280df91b4211c318e3043a24a2a35f2814fe6b88 /remote/modules/xorg
parentschöne funktion :) (diff)
parentAdd Server install script (diff)
downloadtm-scripts-c435ba694701a6cf28a724069f37ca44d4d305bf.tar.gz
tm-scripts-c435ba694701a6cf28a724069f37ca44d4d305bf.tar.xz
tm-scripts-c435ba694701a6cf28a724069f37ca44d4d305bf.zip
Merge branch 'master' of simonslx:openslx-ng/tm-scripts
Diffstat (limited to 'remote/modules/xorg')
-rw-r--r--remote/modules/xorg/data/etc/X11/Xsession34
1 files changed, 33 insertions, 1 deletions
diff --git a/remote/modules/xorg/data/etc/X11/Xsession b/remote/modules/xorg/data/etc/X11/Xsession
index 529208cd..a9b3d43b 100644
--- a/remote/modules/xorg/data/etc/X11/Xsession
+++ b/remote/modules/xorg/data/etc/X11/Xsession
@@ -3,4 +3,36 @@
#Workaround to start Xsession. The original Xsession script includes error handling functionality and sources other scrips from the Xsession.d/ directory.
#start selected session
-exec $1
+ case "$1" in
+ failsafe)
+ # Failsafe session was requested.
+ if [ -e /usr/bin/xterm ]; then
+ if [ -x /usr/bin/xterm ]; then
+ exec xterm -geometry +1+1
+ else
+ # fatal error
+ errormsg "unable to launch failsafe X session ---" \
+ "x-terminal-emulator not executable; aborting."
+ fi
+ else
+ # fatal error
+ errormsg "unable to launch failsafe X session ---" \
+ "x-terminal-emulator not found; aborting."
+ fi
+ ;;
+ *)
+ # Specific program was requested.
+ STARTUP_FULL_PATH=$(/opt/openslx/usr/bin/which "${1%% *}" || true)
+ if [ -n "$STARTUP_FULL_PATH" ] && [ -e "$STARTUP_FULL_PATH" ]; then
+ if [ -x "$STARTUP_FULL_PATH" ]; then
+ exec $1
+ else
+ message "unable to launch \"$1\" X session ---" \
+ "\"$1\" not executable; falling back to default session."
+ fi
+ else
+ message "unable to launch \"$1\" X session ---" \
+ "\"$1\" not found; falling back to default session."
+ fi
+ ;;
+ esac