---
name: "systemd-vconsole-setup.service"
section: "8"
platform: "linux"
package: "systemd"
version: "262.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/systemd-vconsole-setup.service"
---

# systemd-vconsole-setup.service(8)

Configure the virtual consoles

## NAME

systemd-vconsole-setup.service, systemd-vconsole-setup - Configure the virtual consoles

## SYNOPSIS

systemd-vconsole-setup.service

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

## DESCRIPTION

**systemd-vconsole-setup** sets up and configures either all virtual consoles, or — if the optional *TTY* parameter is provided — a specific one. When the system is booting up, systemd-vconsole-setup.service is called by [**systemd-udevd**(8)](/systemd-udevd/8.md) during VT console subsystem initialization. Also, [**systemd-localed.service**(8)](/systemd-localed.service/8.md) invokes it as needed when language or console changes are made. Internally, this program calls [**loadkeys**(1)](/loadkeys/1.md) and [**setfont**(8)](/setfont/8.md).

Execute **systemctl restart systemd-vconsole-setup.service** in order to apply any manual changes made to /etc/vconsole.conf.

See [**vconsole.conf**(5)](/vconsole.conf/5.md) for information about the configuration files and kernel command line options understood by this program.

## CREDENTIALS

**systemd-vconsole-setup** supports the service credentials logic as implemented by *ImportCredential=*/*LoadCredential=*/*SetCredential=* (see [**systemd.exec**(5)](/systemd.exec/5.md) for details). The following credentials are used when passed in:

*vconsole.keymap*, *vconsole.keymap\_toggle*

The keymap (and toggle keymap) to apply. The matching options in vconsole.conf and on the kernel command line take precedence over these credentials.

Note the relationship to the *firstboot.keymap* credential understood by [**systemd-firstboot.service**(1)](/systemd-firstboot.service/1.md): 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).

Added in version 253.

*vconsole.font*, *vconsole.font\_map*, *vconsole.font\_unimap*, *vconsole.font\_scale*

The console font settings to apply. The matching options in vconsole.conf and on the kernel command line take precedence over these credentials.

*vconsole.font\_scale* was added in version 262.

Added in version 253.

## FIRMWARE-PROVIDED KEYBOARD LAYOUT

If the boot loader reports the firmware-configured keyboard layout via the *LoaderKeyboardLayout* EFI variable (see the **Boot Loader Interface**\[1\]), **systemd-vconsole-setup** uses it as the lowest-priority fallback for the keymap. The RFC 4646 / BCP 47 language tag reported by the firmware (e.g. "de-DE") is matched against the optional sixth column of /usr/share/systemd/kbd-model-map, which lists the language tags each virtual-console keymap covers. Credentials, /etc/vconsole.conf, and kernel command line options all override this firmware-provided default.

## SEE ALSO

[**systemd**(1)](/systemd/1.md), [**vconsole.conf**(5)](/vconsole.conf/5.md), [**loadkeys**(1)](/loadkeys/1.md), [**setfont**(8)](/setfont/8.md), [**systemd-localed.service**(8)](/systemd-localed.service/8.md)

## NOTES

- 1\.

  Boot Loader Interface

  https://systemd.io/BOOT\_LOADER\_INTERFACE
