9.6. 配置 Linux 控制台

本节讨论如何配置 systemd-vconsole-setup 系统服务,它负责配置虚拟控制台字体和控制台键盘映射。

systemd-vconsole-setup 服务从 /etc/vconsole.conf 文件中读取配置信息。它根据配置确定使用的键映射和控制台字体。一些与特定语言相关的 HOWTO 文档可以帮助您进行配置,参阅 https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html。浏览 localectl list-keymaps 输出的可用控制台键映射列表。在 /usr/share/consolefonts 目录中寻找可用的控制台字体。

/etc/vconsole.conf 文件的每一行都应该符合格式:变量名=值,有效的变量名包括:

KEYMAP

该变量指定键盘的键映射表。如果没有设定,默认为 us

KEYMAP_TOGGLE

该变量可以用于配置第二切换键盘映射,没有默认设定值。

FONT

该变量指定虚拟控制台使用的字体。

FONT_MAP

该变量指定控制台字体映射。

FONT_UNIMAP

该变量指定 Unicode 字体映射。

第 9.7 节 “配置系统 Locale”中,我们会指定 C.UTF-8 为 Linux 控制台中交互会话的 locale。Kbd 软件包提供的,包含 C.UTF-8 locale 下程序输出消息中全部字符字形的控制台字体有 /usr/share/consolefonts 中的 LatArCyrHeb*.psfu.gzLatGrkCyr*.psfu.gzLat2-Terminus16.psfu.gz,以及 pancyrillic.f16.psfu.gz (其他提供的字体缺失一些字符的字形,如 Unicode 左右引号和 Unicode 英文破折号)。因此将它们中的某个,例如 Lat2-Terminus16.psfu.gz 设为默认控制台字体:

echo FONT=Lat2-Terminus16 > /etc/vconsole.conf

下面的例子可以用于德文键盘和控制台:

cat > /etc/vconsole.conf << "EOF"
KEYMAP=de-latin1
FONT=Lat2-Terminus16
EOF

在系统运行时,可以使用 localectl 工具修改 KEYMAP 变量值:

localectl set-keymap MAP
[注意]

注意

请注意 localectl 命令在 chroot 环境无法工作。只有在使用 systemd 引导 LFS 系统后才能使用它。

也可以通过指定 localectl 工具的参数,修改 X11 键盘布局,模型,变体和选项设置:

localectl set-x11-keymap 布局 [模型] [变体] [选项]

如果需要列出可用的 localectl set-x11-keymap 参数值,可以使用下列参数运行 localectl 命令:

list-x11-keymap-models

列出已知的 X11 键盘映射模型。

list-x11-keymap-layouts

列出已知的 X11 键盘映射布局。

list-x11-keymap-variants

列出已知的 X11 键盘映射变体。

list-x11-keymap-options

列出已知的 X11 键盘映射选项。

[注意]

注意

上面给出的参数都需要 BLFS 中的 XKeyboard-Config 软件包。