diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2014-01-22 13:24:10 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2014-01-22 13:24:10 -0600 |
commit | 0d3289022732c774be0f50747fa498001e25a778 (patch) | |
tree | 2eb731d86cf366f659ea5b7c5b6c6b5a2ac7b04d /ubuntu/precise/tdebase | |
parent | 5798ef81c42eef265fbb7b2d75fb7c748d911e2e (diff) | |
download | tde-packaging-0d3289022732c774be0f50747fa498001e25a778.tar.gz tde-packaging-0d3289022732c774be0f50747fa498001e25a778.zip |
Fix TDM crash on certain systems when Plymouth is enabled
This resolves Bug 1453
Diffstat (limited to 'ubuntu/precise/tdebase')
-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 |