📄 console.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=gb2312" />
<title>
7.6. Configuring the Linux Console
</title>
<link rel="stylesheet" href="../stylesheets/lfs.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1" />
<link rel="stylesheet" href="../stylesheets/lfs-print.css" type="text/css" media="print" />
</head>
<body id="lfs" class="6.1">
<div class="navheader">
<div class="headertitles">
<h4>
Linux From Scratch - Version 6.1
</h4>
<h3>
Chapter 7. 配置系统启动脚本(Bootscripts)
</h3>
</div>
<ul class="headerlinks">
<li class="prev">
<a accesskey="p" href="setclock.html" title="Configuring the setclock Script">后退</a>
<p>
Configuring the setclock Script
</p>
</li>
<li class="next">
<a accesskey="n" href="sysklogd.html" title="Configuring the sysklogd script">前进</a>
<p>
Configuring the sysklogd script
</p>
</li>
<li class="up">
<a accesskey="u" href="chapter07.html" title="Chapter 7. 配置系统启动脚本(Bootscripts)">上一级</a>.
</li>
<li class="home">
<a accesskey="h" href="../index.html" title="Linux From Scratch - Version 6.1">回首页</a>
</li>
</ul>
</div>
<div class="sect1" lang="zh_cn" xml:lang="zh_cn">
<div class="titlepage">
<h1 class="sect1">
7.6. 配置 Linux 控制台</h1>
</div>
<p>
本节讨论如何配置 <span><strong class="command">console</strong></span> 初始化脚本来设置键盘映射表和控制台字体。如果您不使用非 ASCII 字符(英镑和欧元符号就是非 ASCII 字符的例子),并且是美式键盘,可以跳过这一节,没有配置文件的话,<span><strong class="command">console</strong></span>初始化脚本不会做任何事情。</p>
<p><span><strong class="command">console</strong></span> 脚本使用 <tt class="filename">/etc/sysconfig/console</tt> 作为配置文件,决定使用什么键盘映射表和屏幕字体,各种特定语言的 HOWTO(参见 <a href="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"><i>http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html</i></a>) 能帮助您完成配置。LFS-Bootscripts 软件包安装了一个已为一些国家配置好了的预制的 <tt class="filename">/etc/sysconfig/console</tt> 文件,如果您所在的国家已经被支持了,您可以去掉相应部分的注释。如果您还有疑问,请在
<tt class="filename">/usr/share/kbd</tt> 目录下查找正确的键盘映射表和屏幕字体。 阅读 <tt class="filename">loadkeys(1)</tt> 和
<tt class="filename">setfont(8)</tt> 的手册,来确定这些程序的正确参数。如果决定好了,用下面的命令创建配置文件:</p>
<pre class="userinput"><kbd class="command">cat >/etc/sysconfig/console <<"EOF"
<tt class="literal">KEYMAP="<em class="replaceable"><tt>[loadkeys的参数]</tt></em>"
FONT="<em class="replaceable"><tt>[setfont的参数]</tt></em>"</tt>
EOF</kbd></pre>
<p>
例如,西班牙语用户也会要使用欧元符号(可以按下 AltGr+E 来获得),下面的设置才是正确的:</p>
<pre class="userinput"><kbd class="command">cat >/etc/sysconfig/console <<"EOF"
<tt class="literal">KEYMAP="es euro2"
FONT="lat9-16 -u iso01"</tt>
EOF</kbd></pre>
<div class="note">
<div class="admonhead">
<img alt="[Note]" src="../images/note.png" />
<h3 class="admontitle">
注意 </h3>
</div>
<div class="admonbody">
<p>
仅在字符集是 ISO 8859-15 的时候上面的 <tt class="envar">FONT</tt> 行才是正确的,如果使用的是 ISO 8859-1 字符集,是磅字符而不是欧元符,正确的 <tt class="envar">FONT</tt> 行是:</p>
<pre class="userinput"><kbd class="command">FONT="lat1-16"</kbd></pre>
</div>
</div>
<p>
如果 <tt class="envar">KEYMAP</tt> 或 <tt class="envar">FONT</tt>
变量没有设置, <span><strong class="command">console</strong></span> 初始化脚本不会运行相应的程序。</p>
<p>在某些键盘映射表中,退格键和删除键发送的字符不同于内核内建的默认键盘映射表里的字符,这会让一些程序造成混淆。例如,当按下退格键的时候,Emacs 显示其帮助文件(而不是擦除光标前面的字符)。要检测所使用的键盘映射表是否有效(这个方法仅对 i386 键盘映射表有用),请输入:</p>
<pre class="userinput"><kbd class="command">zgrep '\W14\W' <em class="replaceable"><tt>[/path/to/your/keymap]</tt></em></kbd></pre>
<p>如果键代码 14 是退格而不是删除,创建下面的键盘映射表片断来修正这个问题:</p>
<pre class="userinput"><kbd class="command">mkdir -p /etc/kbd && cat > /etc/kbd/bs-sends-del <<"EOF"
<tt class="literal"> keycode 14 = Delete Delete Delete Delete
alt keycode 14 = Meta_Delete
altgr alt keycode 14 = Meta_Delete
keycode 111 = Remove
altgr control keycode 111 = Boot
control alt keycode 111 = Boot
altgr control alt keycode 111 = Boot</tt>
EOF</kbd></pre>
<p>
让 <span><strong class="command">console</strong></span> 脚本在加载主键盘映射表之后加载上面的这个片断:</p>
<pre class="userinput"><kbd class="command">cat >>/etc/sysconfig/console <<"EOF"
<tt class="literal">KEYMAP_CORRECTIONS="/etc/kbd/bs-sends-del"</tt>
EOF</kbd></pre>
<p>
如果您想将键盘映射表直接编译到内核里,而不是每次都用 <span><strong class="command">console</strong></span> 启动脚本来设置,请按照 <a href="../chapter08/kernel.html" title="8.3. Linux-2.6.11.12">Section 8.3, “Linux-2.6.11.12.”</a> 里给出的指导来做,这样可以确保键盘总是按预期的工作,即使在启动到维护模式(通过给内核传递 <em class="parameter"><tt>init=/bin/sh</tt></em> 参数)的时候也可以工作,而这种情况下
<span><strong class="command">console</strong></span> 启动脚本不会运行。另外,内核不会自动设置屏幕字体,这应该不会造成什么问题,因为 ASCII 字符会被正确的处理,而且用户在维护模式下不太可能会需要非 ASCII 字符。</p>
<p>
因为内核会设置键盘映射表,这样就可以在 <tt class="filename">/etc/sysconfig/console</tt> 配置文件里省略 <tt class="envar">KEYMAP</tt> 变量。当然如果需要的话,您可以把它留在那里,不会有什么问题。保留这个变量可能还是有好处的,如果需要运行许多不同的内核的时候,很难保证每个内核都编入了所要的键盘映射表。</p>
</div>
<div class="navfooter">
<ul>
<li class="prev">
<a accesskey="p" href="setclock.html" title="Configuring the setclock Script">后退</a>
<p>
Configuring the setclock Script
</p>
</li>
<li class="next">
<a accesskey="n" href="sysklogd.html" title="Configuring the sysklogd script">前进</a>
<p>
Configuring the sysklogd script
</p>
</li>
<li class="up">
<a accesskey="u" href="chapter07.html" title="Chapter 7. 配置系统启动脚本(Bootscripts)">上一级</a>.
</li>
<li class="home">
<a accesskey="h" href="../index.html" title="Linux From Scratch - Version 6.1">回首页</a>.
</li>
</ul>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -