1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
8 <sect1 id="ch-config-console" revision="systemd">
9 <?dbhtml filename="console.html"?>
11 <title>Configuring the Linux Console</title>
13 <indexterm zone="ch-config-console">
14 <primary sortas="d-console">console</primary>
15 <secondary>configuring</secondary>
18 <para>This section discusses how to configure the
19 <command>systemd-vconsole-setup</command> system service, which configures
20 the virtual console font and console keymap.</para>
22 <para>The <command>systemd-vconsole-setup</command> service reads the
23 <filename>/etc/vconsole.conf</filename> file for configuration
24 information. Decide which keymap and screen font will be used. Various
25 language-specific HOWTOs can also help with this, see <ulink
26 url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>.
27 Examine the output of <command>localectl list-keymaps</command> for a list of
28 valid console keymaps. Look in the
29 <filename class="directory">/usr/share/consolefonts</filename>
30 directory for valid screen fonts.</para>
32 <para>The <filename>/etc/vconsole.conf</filename> file should contain lines
33 of the form: <envar>VARIABLE=value</envar>. The following variables are recognized:</para>
40 <para>This variable specifies the key mapping table for the keyboard. If
41 unset, it defaults to <literal>us</literal>.</para>
46 <term>KEYMAP_TOGGLE</term>
48 <para>This variable can be used to configure a second toggle keymap and
49 is unset by default.</para>
56 <para>This variable specifies the font used by the virtual
64 <para>This variable specifies the console map to be used.</para>
69 <term>FONT_UNIMAP</term>
71 <para>This variable specifies the Unicode font map.</para>
77 <para>We'll use <literal>C.UTF-8</literal> as the locale for interactive
78 sessions in the Linux console in <xref role='.'
79 linkend='ch-config-locale'/> The console fonts shipped by
80 the <application>Kbd</application> package containing the glyphs for
81 all characters from the program messages in the <literal>C.UTF-8</literal>
82 locale are <filename>LatArCyrHeb*.psfu.gz</filename>,
83 <filename>LatGrkCyr*.psfu.gz</filename>,
84 <filename>Lat2-Terminus16.psfu.gz</filename>, and
85 <filename>pancyrillic.f16.psfu.gz</filename> in
86 <filename class='directory'>/usr/share/consolefonts</filename> (the other
87 shipped console fonts lack glyphs of some characters like the Unicode
88 left/right quotation marks and the Unicode English dash). So set one of
89 them, for example <filename>Lat2-Terminus16.psfu.gz</filename> as the
90 default console font:</para>
92 <!-- We are using "nodump" for general settings, but not examples. This
93 is ironic, but needed for the compatibility with jhalfs! -->
94 <screen role='nodump'><userinput>echo <literal>FONT=Lat2-Terminus16</literal> > /etc/vconsole.conf</userinput></screen>
96 <para>An example for a German keyboard and console is given below:</para>
97 <!-- This is what is used by jhalfs for creating the vconsole.conf file.
98 Whenever you want to change the following, please inform the jhalfs
100 <screen><userinput>cat > /etc/vconsole.conf << "EOF"
101 <literal>KEYMAP=de-latin1
102 FONT=Lat2-Terminus16</literal>
103 EOF</userinput></screen>
105 <para>You can change KEYMAP value at runtime by using the
106 <command>localectl</command> utility:</para>
108 <screen role="nodump"><userinput>localectl set-keymap MAP</userinput></screen>
110 <note><para>Please note that the <command>localectl</command> command
111 doesn't work in the chroot environment. It can only
112 be used after the LFS system is booted with systemd.</para></note>
114 <para>You can also use <command>localectl</command> utility with the
115 corresponding parameters to change X11 keyboard layout, model, variant
118 <screen role="nodump"><userinput>localectl set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS]</userinput></screen>
120 <para>To list possible values for <command>localectl set-x11-keymap</command>
121 parameters, run <command>localectl</command> with parameters listed below:
127 <term>list-x11-keymap-models</term>
129 <para>Shows known X11 keyboard mapping models.</para>
134 <term>list-x11-keymap-layouts</term>
136 <para>Shows known X11 keyboard mapping layouts.</para>
141 <term>list-x11-keymap-variants</term>
143 <para>Shows known X11 keyboard mapping variants.</para>
148 <term>list-x11-keymap-options</term>
150 <para>Shows known X11 keyboard mapping options.</para>
156 <note><para>Using any of the parameters listed above requires the
157 XKeyboard-Config package from BLFS.</para></note>