From e1b2b49465615727a2c3883d06d1b9ff339aec67 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 9 Feb 2011 14:17:52 +0100 Subject: [PATCH] systemd: show status when run with plymouth, and don't start plymouth a second time when it is already running --- src/main.c | 5 +++++ units/plymouth-start.service | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/main.c b/src/main.c index 0f82b706c..d1eeffb12 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 61cb82cde..c3c101eb8 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 -- 2.30.2