diff options
-rw-r--r-- | init/plymouth-shutdown.conf | 17 | ||||
-rw-r--r-- | init/prefdm.conf | 2 | ||||
-rw-r--r-- | init/splash-manager.conf | 23 |
3 files changed, 28 insertions, 14 deletions
diff --git a/init/plymouth-shutdown.conf b/init/plymouth-shutdown.conf index e251286f..49010848 100644 --- a/init/plymouth-shutdown.conf +++ b/init/plymouth-shutdown.conf @@ -3,23 +3,14 @@ # This service triggers plymouth to put up a splash # when leaving runlevel 5. -start on stopped prefdm -task +start on (splash-request IMMEDIATE=1) or (splash-request and stopped prefdm) +task console output script - set $(runlevel || true) - if [ "$2" != "0" ] && [ "$2" != "6" ]; then - exit 0 - fi - - /sbin/plymouthd --mode=shutdown || exit 1 + /sbin/plymouthd --mode="$MODE" || exit 1 /bin/plymouth --sysinit /bin/plymouth --show-splash - if [ "$2" = "0" ]; then - /bin/plymouth message --text="Shutting down..." - elif [ "$2" = "6" ]; then - /bin/plymouth message --text="Restarting..." - fi + /bin/plymouth message --text="$MESSAGE" end script diff --git a/init/prefdm.conf b/init/prefdm.conf index d47356c7..701b8065 100644 --- a/init/prefdm.conf +++ b/init/prefdm.conf @@ -4,7 +4,7 @@ start on stopped rc RUNLEVEL=5 -stop on runlevel [!5] +stop on starting rc RUNLEVEL=[!5] console output respawn diff --git a/init/splash-manager.conf b/init/splash-manager.conf new file mode 100644 index 00000000..8e3299cf --- /dev/null +++ b/init/splash-manager.conf @@ -0,0 +1,23 @@ +# splash-manager - requests splash screen +# +# This service emits a splash-request event when +# its time to put up the plymouth splash + +start on starting rc RUNLEVEL=[06] +task + +console output +script + if [ "$RUNLEVEL" = "0" ]; then + MESSAGE=$"Shutting down..." + elif [ "$RUNLEVEL" = "6" ]; then + MESSAGE=$"Restarting..." + fi + initctl status prefdm 2>/dev/null > /tmp/cowcow + if cat /tmp/cowcow | grep -q stop/waiting; then + initctl emit splash-request IMMEDIATE=1 MODE=shutdown MESSAGE="$MESSAGE" + else + initctl emit splash-request MODE=shutdown MESSAGE="$MESSAGE" + fi +end script + |