<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-scripts-console" revision="systemd">
  <?dbhtml filename="console.html"?>

  <title>配置 Linux 终端</title>

  <indexterm zone="ch-scripts-console">
    <primary sortas="d-console">console</primary>
    <secondary>configuring</secondary>
  </indexterm>

  <note><title>译注</title>
	  <para>字符终端从本质上说无法处理中文，因此作为中文读者，
		  除非您学习小语种，或者拥有 DVORAK 之类非传统布局的键盘，
		  都可以跳过本节，使用默认的英文键盘和终端设置。</para>
  </note>

  <para>本节讨论如何配置
  <command>systemd-vconsole-setup</command> 系统服务，
  它负责配置虚拟终端字体和终端键盘映射。</para>

  <para><command>systemd-vconsole-setup</command> 服务从
	  <filename>/etc/vconsole.conf</filename> 文件中读取配置信息，
	  并确定使用的键盘映射和屏幕字体。一些语言相关的 HOWTO
	  文档能帮助您配置该文件，参阅
	  <ulink url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>。
	  浏览 <command>localectl list-keymaps</command>
	  输出的所有可用终端键盘映射列表，并在 
	  <filename class="directory">/usr/share/consolefonts</filename>
	  中查找可用的屏幕字体。</para>

  <para><filename>/etc/vconsole.conf</filename> 文件的每一行都应该是
  变量名="值" 的形式，以下是有效的变量名：</para>

  <variablelist>

    <varlistentry>
      <term>KEYMAP</term>
      <listitem>
        <para>该变量指定键盘映射表名。如果没有设定，默认值是
        <literal>us</literal>。</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>KEYMAP_TOGGLE</term>
      <listitem>
        <para>该变量指定第二切换键盘映射，默认情况下未设定。</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>FONT</term>
      <listitem>
        <para>该变量指定虚拟终端使用的字体。</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>FONT_MAP</term>
      <listitem>
        <para>该变量指定要使用的终端映射。</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>FONT_UNIMAP</term>
      <listitem>
        <para>该变量指定 Unicode 字体映射。</para>
      </listitem>
    </varlistentry>

  </variablelist>

  <para>下面是使用德语键盘和控制台的例子：</para>

<screen role="nodump"><userinput>cat &gt; /etc/vconsole.conf &lt;&lt; "EOF"
<literal>KEYMAP=de-latin1
FONT=Lat2-Terminus16</literal>
EOF</userinput></screen>

  <para>您可以在运行时使用
  <command>localectl</command> 工具更改 KEYMAP 值：</para>

<screen role="nodump"><userinput>localectl set-keymap MAP</userinput></screen>

  <note><para>请注意， <command>localectl</command> 命令只能用于
  systemd 引导的系统。</para></note>

  <para>您也可以使用 <command>localectl</command> 工具的对应参数，
  修改 X11 的键盘布局、模型、变形和选项：</para>

<screen role="nodump"><userinput>localectl set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS]</userinput></screen>

  <para>为了列出 <command>localectl set-x11-keymap</command> 可用的所有值，
  用以下参数运行 <command>localectl</command>：
  </para>

  <variablelist>

    <varlistentry>
      <term>list-x11-keymap-models</term>
      <listitem>
        <para>显示已知的 X11 键盘映射模型。</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>list-x11-keymap-layouts</term>
      <listitem>
        <para>显示已知的 X11 键盘映射布局。</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>list-x11-keymap-variants</term>
      <listitem>
        <para>显示已知的 X11 键盘映射变形。</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>list-x11-keymap-options</term>
      <listitem>
        <para>显示已知的 X11 键盘映射选项。</para>
      </listitem>
    </varlistentry>

  </variablelist>

  <note><para>如果要使用上述参数，需要先安装 BLFS 的
  <ulink url="&blfs-root;x/xkeyboard-config.html">XKeyboardConfig</ulink>
  软件包。
  </para></note>

</sect1>
