summaryrefslogtreecommitdiffstats
path: root/ubuntu/precise/tdebase/debian/tdm-trinity.conf
diff options
context:
space:
mode:
Diffstat (limited to 'ubuntu/precise/tdebase/debian/tdm-trinity.conf')
-rwxr-xr-xubuntu/precise/tdebase/debian/tdm-trinity.conf26
1 files changed, 15 insertions, 11 deletions
diff --git a/ubuntu/precise/tdebase/debian/tdm-trinity.conf b/ubuntu/precise/tdebase/debian/tdm-trinity.conf
index 8093950d2..0148768e2 100755
--- a/ubuntu/precise/tdebase/debian/tdm-trinity.conf
+++ b/ubuntu/precise/tdebase/debian/tdm-trinity.conf
@@ -21,17 +21,21 @@ emits desktop-session-start
emits desktop-shutdown
script
- [ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/opt/trinity/bin/tdm" ]
-
- # Check kernel command-line for inhibitors
- for ARG in $(cat /proc/cmdline)
- do
- case "${ARG}" in
- text|-s|s|S|single)
- exit 0
- ;;
- esac
- done
+ if [ -n "$UPSTART_EVENTS" ]
+ then
+ [ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/opt/trinity/bin/tdm" ] || { stop; exit 0; }
+
+ # Since we have no plymouth integration to take over the VT we simply
+ # quit plymouth all the time. Note that sleeping appears necessary
+ # as the VT freeing is somewhat delayed and TDM would otherwise go
+ # to configured KVT+1 (if plymouth was using it).
+ $(plymouth --quit && plymouth --wait && sleep 1) || :
+ if [ "$RUNLEVEL" = S -o "$RUNLEVEL" = 1 ]
+ then
+ # Single-user mode
+ exit 0
+ fi
+ fi
if [ -r /etc/default/locale ]; then
. /etc/default/locale