When we configure a serial or VM terminal and have no $TERM configuration, then we default to vt220 as a fallback. This is a pretty safe bet, since the termcap/terminfo definitions for vt220 are relatively widely available (much like vt100), and (in contrast to vt100) it supports pageup/pagedown keys. vt220 is a terminal without color support however, but we do want color support, because in 2025 there's really no terminal emulator without color in this world. The $COLORTERM env var is used my many emulators and tools to communicate that ANSI color support is available, despite what $TERM says. Hence, let's tweak systemd's logic to also set $COLORTERM in case we set the vt220 $TERM fallback. This means we define an ahistoric frankenterminal: a vt220 (that historically definitely didn't have color) that is explicitly configured to have color. One effect of this is that coreutils' dircolors command will start to output color sequences in systemd's serial or VM terminals. (Since it actually honours $COLORTERM). Also note that systemd itself checks $COLORTERM since a long time, hence it makes sense for us to also set it. Note that this unfortunately doesn't have the desired effect of propagating $COLORTERM into any getty shell sessions yet. That's because util-linux' login package currently fiters $COLORTERM (but lets $TERM though). I filed a bug about that here: https://github.com/util-linux/util-linux/issues/3463
System and Service Manager
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, join our IRC channel #systemd on libera.chat or Matrix channel
Stable branches with backported patches are available in the stable repo.
We have a security bug bounty program sponsored by the Sovereign Tech Fund hosted on YesWeHack
Repositories with distribution packages built from git main are available on OBS
