tails-gdm-failed-to-start.service 1.52 KB
Newer Older
1
2
[Unit]
Description=Guide the user when GDM fails to start
3
# GDM normally runs "plymouth --quit" when it fails to start the X server
4
# (see on_display_status_changed that calls plymouth_quit_without_transition).
5
6
7
8
9
# But when this happens we kill -9 GDM in our gdm-x-session wrapper, so it
# might not have time to quit plymouth yet. Therefore we ensure plymouth
# has quit before we start: we run after plymouth-quit.service (which is started
# by gdm.service's default OnFailure=), we have plymouth-quit-wait.service start,
# and we wait for it to complete.
10
After=plymouth-quit.service
11
12
Requires=plymouth-quit-wait.service
After=plymouth-quit-wait.service
13

boyska's avatar
boyska committed
14
15
# for instructions on how to test this unit, see config/chroot_local-includes/usr/lib/gdm3/gdm-x-session.tails

16
17
[Service]
Type=oneshot
18
# We use VT5 that is clean of boot messages and does not get a getty started
19
# when we switch there, thanks to our custom NAutoVTs=4 logind.conf setting
20
21
22
23
24
#
# There are queued udev events when we run plymouthd so on Stretch, so
# watch_for_coldplug_completion will set up a watcher and return before
# there's any place where plymouthd can create a seat to display its
# splash and messages on. So we tell plymouthd to ignore udev which makes
intrigeri's avatar
intrigeri committed
25
# it create a fallback seat. The removal of this hack is tracked on #16964.
26
27
28
ExecStart=/bin/sh -c \
    '/sbin/plymouthd --mode=shutdown --tty=tty5 \
        --kernel-command-line="plymouth.ignore-udev $(cat /proc/cmdline)"'
29
30
ExecStart=/bin/chvt 5
ExecStart=/bin/plymouth show-splash
31
ExecStart=/usr/local/lib/tails-gdm-error-message