2 # KMSCON system console on VTs on seat0
3 # This unit takes as template argument a VT name (same as getty@.service) and
4 # spawns KMSCON on this VT. Note that this does automatically limit KMSCON to
5 # seat0. You cannot spawn KMSCON on other seats with this unit.
7 # You can replace the default getty@.service that is shipped with systemd by
9 # ln -s /usr/lib/systemd/system/kmsconvt@.service /etc/systemd/system/autovt@.service
10 # This will make systemd start KMSCON instead of agetty on each VT. Or more
11 # precisely, this will make systemd-logind use kmsconvt@.service instead of
12 # getty@.service for new VTs. In fact, all other units/scripts/... that use
13 # getty@.service will not be affected by this change.
15 # Note that by default getty@.service installs itself as getty@tty1.service.
16 # This unit does the same and overrules getty@tty1.service via the "Conflict"
19 # If KMSCON cannot start for whatever reason, this unit will cause
20 # getty@.service to be started instead. So you will always have a safe fallback.
21 # Furthermore, if no VTs are available, this unit will not start anything.
23 # You can still use getty@.service and kmsconvt@.service simultaneously on
24 # different VTs, but you cannot use both on the same VT (and this wouldn't make
29 Description=KMS System Console on %I
30 Documentation=man:kmscon(1)
31 After=systemd-user-sessions.service
33 Conflicts=getty@%i.service
34 OnFailure=getty@%i.service
36 ConditionPathExists=/dev/tty0
39 ExecStart=/usr/bin/kmscon "--vt=%I" --seats=seat0 --no-switchvt --hwaccel