summaryrefslogtreecommitdiffstats
path: root/ubuntu/maverick/tdebase
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-01-22 13:24:10 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-01-22 13:24:10 -0600
commit0d3289022732c774be0f50747fa498001e25a778 (patch)
tree2eb731d86cf366f659ea5b7c5b6c6b5a2ac7b04d /ubuntu/maverick/tdebase
parent5798ef81c42eef265fbb7b2d75fb7c748d911e2e (diff)
downloadtde-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/maverick/tdebase')
-rwxr-xr-xubuntu/maverick/tdebase/debian/tdm-trinity.conf26
1 files changed, 15 insertions, 11 deletions
diff --git a/ubuntu/maverick/tdebase/debian/tdm-trinity.conf b/ubuntu/maverick/tdebase/debian/tdm-trinity.conf
index 8093950d2..0148768e2 100755
--- a/ubuntu/maverick/tdebase/debian/tdm-trinity.conf
+++ b/ubuntu/maverick/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