chiark / gitweb /
exec: automatically determine right TERM= setting based on tty name
[elogind.git] / units / getty@.service.m4
index e023a9dcb74af931ca5143ab8c5d5c27d3bfe9b7..d6bd9a9dbe9b4620c7f48a6999ac3a2aec23980e 100644 (file)
@@ -5,15 +5,10 @@
 #  the Free Software Foundation; either version 2 of the License, or
 #  (at your option) any later version.
 
-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
+BindTo=dev-%i.device
+After=dev-%i.device
 m4_ifdef(`TARGET_FEDORA',
 After=rc-local.service
 )m4_dnl
@@ -21,11 +16,16 @@ m4_ifdef(`TARGET_ARCH',
 After=rc-local.service
 )m4_dnl
 
+# If additional gettys are spawned during boot then we should make
+# sure that this is synchronized before getty.target, even though
+# getty.target didn't actually pull it in.
+Before=getty.target
+
 [Service]
-Environment=TERM=linux
-ExecStart=GETTY %I
-Restart=restart-always
+ExecStart=-/sbin/agetty %I 38400
+Restart=always
 RestartSec=0
+UtmpIdentifier=%I
 KillMode=process-group
 
 # Some login implementations ignore SIGTERM, so we send SIGHUP