<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="vconsole.conf" conditional='ENABLE_VCONSOLE'>
  <refentryinfo>
    <title>vconsole.conf</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>vconsole.conf</refentrytitle>
    <manvolnum>5</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>vconsole.conf</refname>
    <refpurpose>Configuration file for the virtual console</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>/etc/vconsole.conf</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

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

    <para>The format of <filename>vconsole.conf</filename> 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
    <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry> for a
    detailed description of the format.</para>

    <para>Note that the kernel command line options
    <varname>vconsole.keymap=</varname>,
    <varname>vconsole.keymap_toggle=</varname>,
    <varname>vconsole.font=</varname>,
    <varname>vconsole.font_map=</varname>,
    <varname>vconsole.font_unimap=</varname> may be used
    to override the console settings at boot.</para>

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

    <para><filename>/etc/vconsole.conf</filename> is usually created and updated
    using
    <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
    <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
    may be used to instruct <command>systemd-localed.service</command> to
    query or update configuration.</para>
  </refsect1>

  <refsect1>
    <title>Options</title>

    <para>The following options are understood:</para>

    <variablelist class='environment-variables'>

      <varlistentry>
        <term><varname>KEYMAP=</varname></term>
        <term><varname>KEYMAP_TOGGLE=</varname></term>

        <listitem><para>Configures the key mapping table for the keyboard.
        <varname>KEYMAP=</varname> defaults to <literal>us</literal> if not set. The
        <varname>KEYMAP_TOGGLE=</varname> can be used to configure a second toggle keymap and is by
        default unset.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>FONT=</varname></term>
        <term><varname>FONT_MAP=</varname></term>
        <term><varname>FONT_UNIMAP=</varname></term>

        <listitem><para>Configures the console font, the console map
        and the unicode font map.</para></listitem>
      </varlistentry>

    </variablelist>
  </refsect1>

  <refsect1>
    <title>Kernel Command Line</title>

    <para>A few configuration parameters from <filename>vconsole.conf</filename> may be overridden
    on the kernel command line:</para>

    <variablelist class='kernel-commandline-options'>
      <varlistentry>
        <term><varname>vconsole.keymap=</varname></term>
        <term><varname>vconsole.keymap_toggle=</varname></term>

        <listitem><para>Overrides <varname>KEYMAP=</varname> and <varname>KEYMAP_TOGGLE=</varname>.
        </para></listitem>
      </varlistentry>
      <varlistentry>

        <term><varname>vconsole.font=</varname></term>
        <term><varname>vconsole.font_map=</varname></term>
        <term><varname>vconsole.font_unimap=</varname></term>

        <listitem><para>Overrides <varname>FONT=</varname>, <varname>FONT_MAP=</varname>, and
        <varname>FONT_UNIMAP=</varname>.</para></listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>Example</title>

    <example>
      <title>German keyboard and console</title>

      <para><filename>/etc/vconsole.conf</filename>:</para>

      <programlisting>KEYMAP=de-latin1
FONT=eurlatgr</programlisting>
    </example>

  </refsect1>

  <refsect1>
      <title>See Also</title>
      <para>
        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
        <citerefentry><refentrytitle>systemd-vconsole-setup.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
        <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
        <citerefentry project='die-net'><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
        <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
        <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
      </para>
  </refsect1>

</refentry>
