blob: 7b648239eb6f3bf7986a60f46eac58739c683dbd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#
# KMSCON system console on VTs on seat0
# This unit takes as template argument a VT name (same as getty@.service) and
# spawns KMSCON on this VT. Note that this does automatically limit KMSCON to
# seat0. You cannot spawn KMSCON on other seats with this unit.
#
# You can replace the default getty@.service that is shipped with systemd by
# linking it with:
# ln -s /usr/lib/systemd/system/kmsconvt@.service /etc/systemd/system/autovt@.service
# This will make systemd start KMSCON instead of agetty on each VT. Or more
# precisely, this will make systemd-logind use kmsconvt@.service instead of
# getty@.service for new VTs. In fact, all other units/scripts/... that use
# getty@.service will not be affected by this change.
#
# Note that by default getty@.service installs itself as getty@tty1.service.
# This unit does the same and overrules getty@tty1.service via the "Conflict"
# line below.
#
# If KMSCON cannot start for whatever reason, this unit will cause
# getty@.service to be started instead. So you will always have a safe fallback.
# Furthermore, if no VTs are available, this unit will not start anything.
#
# You can still use getty@.service and kmsconvt@.service simultaneously on
# different VTs, but you cannot use both on the same VT (and this wouldn't make
# any sense).
#
[Unit]
Description=KMS System Console on %I
Documentation=man:kmscon(1)
After=systemd-user-sessions.service
After=plymouth-quit-wait.service
Before=getty.target
Conflicts=getty@%i.service
OnFailure=getty@%i.service
IgnoreOnIsolate=yes
ConditionPathExists=/dev/tty0
[Service]
ExecStart=/usr/bin/kmscon "--vt=%I" --seats=seat0 --no-switchvt
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
[Install]
WantedBy=getty.target
|