summaryrefslogtreecommitdiffstats
path: root/remote/modules/xorg
diff options
context:
space:
mode:
authorMichael Neves2013-05-09 19:01:47 +0200
committerMichael Neves2013-05-09 19:01:47 +0200
commit119ba7bff3d83e4ce416e089ffd7acc464bc4123 (patch)
tree6b66f702dfcdd62ee9aa5f60c86915b57366953d /remote/modules/xorg
parentworkaround: add symlink to old location or run-virt. TODO: adjust old openslx... (diff)
downloadtm-scripts-119ba7bff3d83e4ce416e089ffd7acc464bc4123.tar.gz
tm-scripts-119ba7bff3d83e4ce416e089ffd7acc464bc4123.tar.xz
tm-scripts-119ba7bff3d83e4ce416e089ffd7acc464bc4123.zip
fix Failsafe
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