X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=units%2Femergency.service;h=4847f4f0c6ef243c878fa6e635cb8976911becf3;hp=83b7d72b7b7da7af76018ce27efe00500d50ac59;hb=822b18599d1c9465449c7111fe7e7b86fbf44a57;hpb=af65a09126e216d468592f069aee50dfe0382d3a diff --git a/units/emergency.service b/units/emergency.service index 83b7d72b7..4847f4f0c 100644 --- a/units/emergency.service +++ b/units/emergency.service @@ -10,10 +10,21 @@ [Unit] Description=Emergency Shell DefaultDependencies=no +Conflicts=shutdown.target +Before=shutdown.target [Service] -ExecStart=/bin/sh -StandardInput=tty -Restart=restart-always -RestartSec=0 -KillMode=process-group +Environment=HOME=/root +WorkingDirectory=/root +ExecStartPre=-/bin/plymouth quit +ExecStartPre=-/bin/echo 'Welcome to emergency mode. Use "systemctl default" or ^D to activate default mode.' +ExecStart=-/sbin/sulogin +ExecStopPost=/bin/systemctl --fail --no-block default +StandardInput=tty-force +StandardOutput=inherit +StandardError=inherit +KillMode=process + +# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash +# terminates cleanly. +KillSignal=SIGHUP