chiark / gitweb /
units: add console-shell.service which can be used insted of the gettys to get a...
authorLennart Poettering <lennart@poettering.net>
Mon, 14 Mar 2011 20:00:53 +0000 (21:00 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 14 Mar 2011 20:00:53 +0000 (21:00 +0100)
Makefile.am
TODO
units/.gitignore
units/console-shell.service.m4 [new file with mode: 0644]

index a2e40c3..97c8be3 100644 (file)
@@ -260,6 +260,7 @@ dist_systemunit_DATA = \
 nodist_systemunit_DATA = \
        units/getty@.service \
        units/serial-getty@.service \
+        units/console-shell.service \
        units/graphical.target \
        units/remote-fs.target \
        units/multi-user.target \
@@ -304,6 +305,7 @@ nodist_userunit_DATA = \
 EXTRA_DIST = \
        units/getty@.service.m4 \
        units/serial-getty@.service.m4 \
+        units/console-shell.service.m4 \
        units/graphical.target.m4 \
        units/multi-user.target.m4 \
        units/remote-fs.target.m4 \
diff --git a/TODO b/TODO
index 986e06a..4fc728f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -24,6 +24,8 @@ F15:
 
 * capability_bounding_set_drop not used.
 
+* remove getty magic, move it into a generator
+
 Features:
 
 * optionally create watched directories in .path units
index 008446d..a64cac1 100644 (file)
@@ -1,3 +1,4 @@
+console-shell.service
 systemd-sysctl.service
 systemd-ask-password-console.service
 rescue.service
diff --git a/units/console-shell.service.m4 b/units/console-shell.service.m4
new file mode 100644 (file)
index 0000000..c98a08f
--- /dev/null
@@ -0,0 +1,41 @@
+#  This file is part of systemd.
+#
+#  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.
+
+[Unit]
+Description=Console Shell
+After=systemd-user-sessions.service plymouth-quit-wait.service
+m4_ifdef(`TARGET_FEDORA',
+After=rc-local.service
+)m4_dnl
+m4_ifdef(`TARGET_ARCH',
+After=rc-local.service
+)m4_dnl
+m4_ifdef(`TARGET_FRUGALWARE',
+After=local.service
+)m4_dnl
+m4_ifdef(`TARGET_ALTLINUX',
+After=rc-local.service
+)m4_dnl
+m4_ifdef(`TARGET_MANDRIVA',
+After=rc-local.service
+)m4_dnl
+Before=getty.target
+
+[Service]
+Environment=HOME=/root
+WorkingDirectory=/root
+ExecStart=-/sbin/sulogin
+ExecStopPost=-/bin/systemctl poweroff
+StandardInput=tty-force
+KillMode=process-group
+
+# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
+# terminates cleanly.
+KillSignal=SIGHUP
+
+[Install]
+WantedBy=getty.target