summaryrefslogtreecommitdiffstats
path: root/data/gdm.service.in
diff options
context:
space:
mode:
Diffstat (limited to 'data/gdm.service.in')
-rw-r--r--data/gdm.service.in33
1 files changed, 33 insertions, 0 deletions
diff --git a/data/gdm.service.in b/data/gdm.service.in
new file mode 100644
index 0000000..17e8a8d
--- /dev/null
+++ b/data/gdm.service.in
@@ -0,0 +1,33 @@
+[Unit]
+Description=GNOME Display Manager
+
+# replaces the getty
+Conflicts=getty@tty${GDM_INITIAL_VT}.service
+After=getty@tty${GDM_INITIAL_VT}.service
+
+# replaces plymouth-quit since it quits plymouth on its own
+Conflicts=${PLYMOUTH_QUIT_SERVICE}
+After=${PLYMOUTH_QUIT_SERVICE}
+
+# Needs all the dependencies of the services it's replacing
+# pulled from getty@.service and ${PLYMOUTH_QUIT_SERVICE}
+# (except for plymouth-quit-wait.service since it waits until
+# plymouth is quit, which we do)
+After=rc-local.service plymouth-start.service systemd-user-sessions.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
+KillMode=mixed
+Restart=always
+IgnoreSIGPIPE=no
+BusName=org.gnome.DisplayManager
+EnvironmentFile=-${LANG_CONFIG_FILE}
+ExecReload=/bin/kill -SIGHUP $MAINPID
+KeyringMode=shared
+
+[Install]
+Alias=display-manager.service