diff options
Diffstat (limited to 'ubuntu/precise/tdebase/debian/tdm-trinity.conf')
-rwxr-xr-x | ubuntu/precise/tdebase/debian/tdm-trinity.conf | 26 |
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 |