summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-02-09 14:17:52 +0100
committerLennart Poettering <lennart@poettering.net>2011-02-09 14:17:52 +0100
commite1b2b49465615727a2c3883d06d1b9ff339aec67 (patch)
tree0ef0343f266a9393ae5e8bbc91d6202d6d3988b8
parent0658666bacde7decbc362f0f589fe6aa5251faba (diff)
systemd: show status when run with plymouth, and don't start plymouth a second time when it is already running
-rw-r--r--src/main.c5
-rw-r--r--units/plymouth-start.service6
2 files changed, 11 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 0f82b706c6..d1eeffb12e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -985,6 +985,11 @@ int main(int argc, char *argv[]) {
if (parse_argv(argc, argv) < 0)
goto finish;
+ /* If Plymouth is being run make sure we show the status, so
+ * that there's something nice to see when people press Esc */
+ if (access("/dev/.systemd/plymouth", F_OK) >= 0)
+ arg_show_status = true;
+
if (arg_action == ACTION_HELP) {
retval = help();
goto finish;
diff --git a/units/plymouth-start.service b/units/plymouth-start.service
index 61cb82cde4..c3c101eb8a 100644
--- a/units/plymouth-start.service
+++ b/units/plymouth-start.service
@@ -12,7 +12,13 @@ Wants=systemd-ask-password-plymouth.path
After=systemd-vconsole-setup.service udev-settle.service
Before=systemd-ask-password-plymouth.service
+# Dracut informs us with this flag file if plymouth is already running
+ConditionPathExists=!/dev/.systemd/plymouth
+
[Service]
ExecStart=/sbin/plymouthd --mode=boot
ExecStartPost=-/bin/plymouth --show-splash
Type=forking
+
+# Send SIGRTMIN+20 to systemd, i.e. enable status messages
+ExecStartPost=-/usr/bin/kill -54 1