David Herrmann has been landing a lot of changes into systemd over the past few weeks working on the project's terminal. As of a few weeks ago, there's now a consoled. The systemd-consoled is a user console daemon that's currently rather basic and does rather primitive rendering. Herrmann explained a bit:
The systemd-consoled binary should be run as `systemd --user' unit. It automatically picks up any session marked as Desktop=SYSTEMD-CONSOLE. Therefore, you can use any login-manager you want (ranging from /bin/login to gdm) to create sessions for systemd-consoled. However, the sessions managers must be prepared to set the Desktop= variable properly.
The user-session is called `systemd-console', only the daemon providing the terminal environment is called `systemd-consoled' (mind the 'd').
So far, only a single terminal session is provided on each opened user-session. However, we support multiple user-sessions (even across multiple seats) just fine. In the future, the workspace logic will get extended so you can have multiple terminal sessions in a single user-session for easier access.
Note that this is still experimental! Instructions on how to run it will follow shortly.
Leading up to this has been cursor rendering support, keyboard mapping support, screen renderer, DRM back-end, input interface, and dozens of other commits.
With systemd 217 this console daemon support will be experimental, but at least we're on our way to having a nice virtual terminal for Linux with plenty of bells and whistles to succeed the aging CONFIG_VT code.