aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/plymouth-shutdown.conf17
-rw-r--r--init/prefdm.conf2
-rw-r--r--init/splash-manager.conf23
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
+