#include "parse-util.h"
#include "password-quality-util.h"
#include "path-util.h"
+#include "plymouth-util.h"
#include "pretty-print.h"
#include "proc-cmdline.h"
#include "prompt-util.h"
assert(rfd >= 0);
assert(mute_console_link);
+ /* Needs to be called before mute_console or it will garble the screen */
+ if (arg_welcome)
+ (void) plymouth_hide_splash();
+
if (!*mute_console_link && arg_mute_console)
(void) mute_console(mute_console_link);
#include "percent-util.h"
#include "pidref.h"
#include "pkcs11-util.h"
+#include "plymouth-util.h"
#include "polkit-agent.h"
#include "pretty-print.h"
#include "proc-cmdline.h"
return 0;
}
+ /* Needs to be called before mute_console or it will garble the screen */
+ (void) plymouth_hide_splash();
+
_cleanup_(sd_varlink_flush_close_unrefp) sd_varlink *mute_console_link = NULL;
(void) mute_console(&mute_console_link);
return 0;
}
+
+int plymouth_hide_splash(void) {
+ int r;
+
+ r = plymouth_send_raw("H\0", 2, SOCK_NONBLOCK);
+ if (r < 0)
+ return log_full_errno(ERRNO_IS_NO_PLYMOUTH(r) ? LOG_DEBUG : LOG_WARNING, r,
+ "Failed to communicate with plymouth: %m");
+
+ return 0;
+}
int plymouth_connect(int flags);
int plymouth_send_raw(const void *raw, size_t size, int flags);
int plymouth_send_msg(const char *text, bool pause_spinner);
+int plymouth_hide_splash(void);
static inline bool ERRNO_IS_NO_PLYMOUTH(int r) {
return IN_SET(ABS(r), EAGAIN, ENOENT) || ERRNO_IS_DISCONNECT(r);