SYSTEMD-VCONSOLE-SETUP.SERVICE(8)

πŸ’… systemd-vconsole-setup.service, systemd-vconsole-setup β€” configure the virtual consoles (yes, the actual TTYs, bestie)

Okay so real talk, this is the systemd-vconsole-setup.service / systemd-vconsole-setup situation, and it lives in the manual page systemd-vconsole-setup.service family, section 8. Let's get into it 🫢


✨ SYNOPSIS ✨

systemd-vconsole-setup.service

/usr/lib/systemd/systemd-vconsole-setup [TTY]

πŸŽ€ DESCRIPTION πŸŽ€

So systemd-vconsole-setup is the little icon that sets up and configures your virtual consoles. All of them, or β€” plot twist β€” just one specific console if you hand it the optional TTY parameter. Slay, flexible king πŸ‘‘

When the system is booting up, systemd-vconsole-setup.service gets called by systemd-udevd(8) during VT console subsystem initialization. Also, systemd-localed.service(8) invokes it whenever it needs to, like when language or console changes happen. And internally? This program literally just calls loadkeys(1) and setfont(8) and vibes. No cap πŸ’€

So if you made manual changes to /etc/vconsole.conf and you want them to actually, you know, apply, run this:

systemctl restart systemd-vconsole-setup.service
Do it. Execute it. That's the move to apply any manual changes made to /etc/vconsole.conf 🫑

Also, if you want the tea on the configuration files and kernel command line options understood by this program, go read vconsole.conf(5). It's giving "required reading," sorry, I don't make the rules 🌸


πŸ¦‹ CREDENTIALS πŸ¦‹

systemd-vconsole-setup supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (peek systemd.exec(5) for the whole lore on that, iykyk). The following credentials are used when passed in:

  • vconsole.keymap, vconsole.keymap_toggle β€” the keymap (and toggle keymap) to apply, bestie. The matching options in vconsole.conf and on the kernel command line take precedence over these credentials. ⚠️

Okay so, about the relationship to the firstboot.keymap credential understood by systemd-firstboot.service(1): both ultimately affect the same setting, but firstboot.keymap is written into /etc/vconsole.conf on first boot (if not already configured), and then read from there by systemd-vconsole-setup, while vconsole.keymap is read on every boot, and is not persisted to disk (but any configuration in vconsole.conf will take precedence if present). Literally the same destination, different journeys πŸš—πŸ’¨

Added in version 253.

  • vconsole.font, vconsole.font_map, vconsole.font_unimap β€” the console font settings to apply. Same deal as above: the matching options in vconsole.conf and on the kernel command line take precedence over these credentials. 😭

Added in version 253.


🧚 SEE ALSO 🧚

systemd(1), vconsole.conf(5), loadkeys(1), setfont(8), systemd-localed.service(8)


And that's the whole page, periodt. πŸ’– This adorable little doc dropped with systemd 259.10 β€” shoutout to the systemd crew, love u, mean it πŸ«Άβœ¨πŸŽ€

πŸ“¦ where this page comes from