[gdm/gnome-3-14] systemd: call plymouth-quit if gdm fails
- From: Simon McVittie <smcv src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm/gnome-3-14] systemd: call plymouth-quit if gdm fails
- Date: Thu, 12 Mar 2015 11:14:37 +0000 (UTC)
commit c5653468eb347941f77ba6192e81e0c694876960
Author: Simon McVittie <smcv debian org>
Date: Wed Mar 11 11:35:40 2015 +0000
systemd: call plymouth-quit if gdm fails
gdm.service Conflicts with plymouth-quit.service, so it does not run
when it normally would (because GDM wants to handle the handover from
plymouth to X11 itself). This means that if gdm fails to start for whatever
reason, plymouth is never stopped, so plymouth-quit-wait.service
never finishes. This, in turn, means that getty tty* service, which is
After plymouth-wait-quit.service, never starts, and there is no way to
log in locally and fix the problem (Debian bug #780257, but not
Debian-specific).
In Debian 8, not all display managers have been migrated to
participate in managing the display-manager.service symlink yet
(in particular, kdm and wdm have not), so gdm has a transitional
ExecStartPre that stops it from running if kdm or wdm is selected
as the active DM. This has the same effect of preventing plymouth
from running (Debian-specific bug #766462).
It's easy to avoid both of those situations by scheduling
plymouth-quit.service to run if gdm fails.
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=746023
Bug-Debian: https://bugs.debian.org/766462
Bug-Debian: https://bugs.debian.org/780257
data/gdm.service.in | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/data/gdm.service.in b/data/gdm.service.in
index df8bc09..a84da64 100644
--- a/data/gdm.service.in
+++ b/data/gdm.service.in
@@ -3,6 +3,10 @@ Description=GNOME Display Manager
Conflicts=getty tty@GDM_INITIAL_VT service plymouth-quit.service
After=systemd-user-sessions.service getty tty@GDM_INITIAL_VT service plymouth-quit.service
+# GDM takes responsibility for stopping plymouth, so if it fails
+# for any reason, make sure plymouth still stops
+OnFailure=plymouth-quit.service
+
[Service]
ExecStart= sbindir@/gdm
Restart=always
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]