Find a file
HATAYAMA Daisuke 937ca8330d sulogin: fix control lost of the current terminal when default.target is rescue.target
When default.target is rescue.target, exiting from the single-user shell
results in lost of the control of the current terminal. This is because the
operation performed to continue to boot is systemctl default but default.target
is now rescue.target and it is already active. Hence, no new process that
controls the current terminal is created. Users need to make hardware reset to
recover the situation.

This sounds like a bit corner case issue and some might feel configuring
default.target as rescue.target is odd because there are several other ways to
transition to rescue.mode without configuring default.target to rescue.target
such as systemctl rescue or systemd.unit=rescue.target something like
that. However, users unfamiliar with systemd operations tend to come up with
systemctl set-default rescue.target.

To fix this issue, let's transition to default.target only when default.target
is inactive. Otherwise, invoke the single-user shell again to keep control of
the current terminal for users.

This new logic depends on whether D-Bus working well. Exiting without any check
of result of systemctl default could lead to again the control lost of the
current terminal. Hence, add checking results of each D-Bus operations
including systemctl default and invoke the single-user shell if they fail.
2023-02-16 07:22:23 -05:00
.clusterfuzzlite
.github Disable code freeze banner 2022-10-31 18:57:13 +00:00
.semaphore semaphore: run autopkgtest with sudo 2022-08-11 13:36:15 +02:00
catalog man: reword some awkward sentences 2022-10-14 15:56:58 +02:00
coccinelle basic/list: drop LIST_IS_EMPTY 2022-07-02 12:46:16 +02:00
docs docs: update translation strings before new release 2022-10-20 10:39:03 +02:00
factory
hwdb.d Update hwdb 2022-10-31 12:15:16 +00:00
LICENSES network: change license of examples to MIT-0 2022-10-26 08:39:34 +02:00
man man: make clear NNP has no effect on processes invoked through systemd-run/at/crontab and such things 2022-10-31 12:53:52 +01:00
mkosi.default.d mkosi: libbpf0 -> libbpf1 2022-10-24 20:40:07 +02:00
modprobe.d
network network: change license of examples to MIT-0 2022-10-26 08:39:34 +02:00
po po: Translated using Weblate (Chinese (Simplified) (zh_CN)) 2022-10-31 12:54:01 +01:00
presets units: enable systemd-network-generator by default 2021-12-16 09:49:39 +01:00
rules.d udev: always create device symlinks for USB disks 2022-10-30 12:02:02 +01:00
shell-completion shell-completion/zsh: rename helper for clarity 2022-10-20 09:58:00 +02:00
src sulogin: fix control lost of the current terminal when default.target is rescue.target 2023-02-16 07:22:23 -05:00
sysctl.d tree-wide: link to docs.kernel.org for kernel documentation 2022-07-04 19:56:53 +02:00
sysusers.d
test test-network: suppress a couple of minor pylint complaints 2022-10-30 20:52:24 +01:00
tmpfiles.d Remove duplicated word 2022-10-29 14:19:43 +09:00
tools Report version string as in the Boot Loader Spec, fix boot loader upgrades 2022-10-25 13:23:57 +02:00
units unit: also prioritize input devices when triggering devices 2022-10-26 10:49:09 +02:00
xorg
.clang-format
.ctags
.dir-locals.el
.editorconfig
.gitattributes
.gitignore core/cgroup: CPUWeight/CPUShares support idle input 2022-08-11 14:25:58 +02:00
.mailmap
.packit.yml
.vimrc
.ycm_extra_conf.py
configure
LICENSE.GPL2
LICENSE.LGPL2.1
Makefile
meson.build meson: always use libatomic if found 2022-10-21 17:40:59 +02:00
meson_options.txt core: allow disabling system time correction if rtc returns time far in the future 2022-08-24 21:39:46 +01:00
mkosi.build mkosi: Make sure bpf-framework works on CentOS Stream 8 as well 2022-10-17 08:45:48 +02:00
mkosi.postinst mkosi: Ensure we build all features/components in mkosi 2022-08-23 15:19:26 +02:00
NEWS Finalise 👻 SpOoOky 👻 NEWS for v252 2022-10-31 18:59:18 +00:00
README README: Fix libbpf minimum version 2022-10-17 08:45:16 +02:00
README.md README.md: add a missing line break 2022-10-19 11:17:33 +02:00
TODO update TODO 2022-10-31 12:38:48 +01:00

Systemd

System and Service Manager

Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
CentOS CI - CentOS 8
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
CentOS CI - Rawhide (SELinux)
Fossies codespell report
Coverage Status
Packaging status
OpenSSF Scorecard

Details

Most documentation is available on systemd's web site.

Assorted, older, general information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Code Map for information about this repository's layout and content.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.