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

# vconsole.conf(5)

Configuration file for the virtual console

## NAME

vconsole.conf - Configuration file for the virtual console

## SYNOPSIS

/etc/vconsole.conf

## DESCRIPTION

The /etc/vconsole.conf file configures the virtual console, i.e. keyboard mapping and console font. It is applied at boot by udev using 90-vconsole.rules file. You can safely mask this file if you want to avoid this kind of initialization.

The format of vconsole.conf is a newline-separated list of environment-like shell-compatible variable assignments, ignoring comments and empty lines. It is possible to source the configuration from shell scripts, however, beyond mere variable assignments no shell features are supported, allowing applications to read the file without implementing a shell compatible execution engine. See [**os-release**(5)](/os-release/5.md) for a detailed description of the format.

Note that the kernel command line options *vconsole.keymap=*, *vconsole.keymap\_toggle=*, *vconsole.font=*, *vconsole.font\_map=*, *vconsole.font\_unimap=*, and *vconsole.font\_scale=* may be used to override the console settings at boot.

Depending on the operating system other configuration files might be checked for configuration of the virtual console as well, however only as fallback.

If the boot loader reports the firmware-configured keyboard layout via the *LoaderKeyboardLayout* EFI variable (see the **Boot Loader Interface**\[1\]), it is used as the lowest-priority fallback for *KEYMAP=*. Any setting from credentials, /etc/vconsole.conf, or the kernel command line overrides it.

/etc/vconsole.conf is usually created and updated using [**systemd-localed.service**(8)](/systemd-localed.service/8.md). [**localectl**(1)](/localectl/1.md) may be used to instruct **systemd-localed.service** to query or update configuration.

## OPTIONS

The following options are understood:

*KEYMAP=*, *KEYMAP\_TOGGLE=*

Configures the key mapping table for the keyboard. *KEYMAP=* defaults to "us" if not set. As a special case, if "@kernel" is specified, no keymap will be loaded, i.e. the kernel's default keymap will be used. The *KEYMAP\_TOGGLE=* can be used to configure a second toggle keymap and is by default unset.

*FONT=*, *FONT\_MAP=*, *FONT\_UNIMAP=*

Configures the console font, the console map and the unicode font map.

*FONT\_SCALE=*

Specifies a font scaling factor. Takes an unsigned value, optionally suffixed with "%". Specifying "2" or "200%" doubles the font size. Currently, only the scaling factors "100%" and "200%" are supported; other values are clamped to the nearest supported value.

Added in version 262.

## KERNEL COMMAND LINE

A few configuration parameters from vconsole.conf may be overridden on the kernel command line:

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

Overrides *KEYMAP=* and *KEYMAP\_TOGGLE=*.

Added in version 232.

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

Overrides *FONT=*, *FONT\_MAP=*, *FONT\_UNIMAP=*, and *FONT\_SCALE=*.

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

Added in version 232.

## EXAMPLE

**Example 1. German keyboard and console**

/etc/vconsole.conf:

```
KEYMAP=de-latin1
FONT=eurlatgr
```

## SEE ALSO

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

## NOTES

- 1\.

  Boot Loader Interface

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