chiark / gitweb /
getty: properly synchronize of tty devices being plugged in
[elogind.git] / units / getty@.service.m4
index b4dfaf24e1c02f14fb72059f0cfbb4627de0563b..770fc6caac588385c4a9e7809b81d9696645a567 100644 (file)
@@ -1,29 +1,37 @@
 #  This file is part of systemd.
 #
-#  Copyright 2010 Lennart Poettering
-#
 #  systemd is free software; you can redistribute it and/or modify it
 #  under the terms of the GNU General Public License as published by
 #  the Free Software Foundation; either version 2 of the License, or
 #  (at your option) any later version.
-#
-#  systemd is distributed in the hope that it will be useful, but
-#  WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-#  General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
-
-# See systemd.special(7) for details
-m4_ifdef(`TARGET_FEDORA', m4_define(`GETTY', `/sbin/mingetty'))m4_dnl
-m4_ifdef(`TARGET_DEBIAN', m4_define(`GETTY', `/sbin/getty 38400'))m4_dnl
 
+m4_ifdef(`TARGET_FEDORA', `m4_define(`GETTY', `/sbin/mingetty')')m4_dnl
+m4_ifdef(`TARGET_SUSE', `m4_define(`GETTY', `/sbin/mingetty')')m4_dnl
+m4_ifdef(`TARGET_DEBIAN', `m4_define(`GETTY', `/sbin/getty 38400')')m4_dnl
+m4_ifdef(`TARGET_GENTOO', `m4_define(`GETTY', `/sbin/agetty 38400')')m4_dnl
+m4_ifdef(`TARGET_ARCH', `m4_define(`GETTY', `/sbin/agetty -8 38400')')m4_dnl
+m4_dnl
 [Unit]
 Description=Getty on %I
-Before=getty.target
-After=basic.target
+Requires=dev-%i.device
+After=dev-%i.device
+m4_ifdef(`TARGET_FEDORA',
+After=rc-local.service
+)m4_dnl
+m4_ifdef(`TARGET_ARCH',
+After=rc-local.service
+)m4_dnl
 
 [Service]
-Type=simple
+Environment=TERM=linux
 ExecStart=GETTY %I
+Restart=restart-always
+RestartSec=0
+KillMode=process-group
+
+# Some login implementations ignore SIGTERM, so we send SIGHUP
+# instead, to ensure that login terminates cleanly.
+KillSignal=SIGHUP
+
+[Install]
+Alias=getty.target.wants/getty@tty1.service getty.target.wants/getty@tty2.service getty.target.wants/getty@tty3.service getty.target.wants/getty@tty4.service getty.target.wants/getty@tty5.service getty.target.wants/getty@tty6.service