console.xml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  4. <!ENTITY % general-entities SYSTEM "../general.ent">
  5. %general-entities;
  6. ]>
  7. <sect1 id="ch-scripts-console">
  8. <?dbhtml filename="console.html"?>
  9. <title>Configuring the Linux Console</title>
  10. <indexterm zone="ch-scripts-console">
  11. <primary sortas="d-console">console</primary>
  12. <secondary>configuring</secondary>
  13. </indexterm>
  14. <para>This section discusses how to configure the <command>console</command>
  15. bootscript that sets up the keyboard map and the console font. If non-ASCII
  16. characters (e.g., the British pound sign and Euro character) will not be used
  17. and the keyboard is a U.S. one, skip this section. Without the configuration
  18. file, the <command>console</command> bootscript will do nothing.</para>
  19. <para>The <command>console</command> script reads the
  20. <filename>/etc/sysconfig/console</filename> file for configuration information.
  21. Decide which keymap and screen font will be used. Various language-specific
  22. HOWTO's can also help with this (see <ulink
  23. url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. A pre-made
  24. <filename>/etc/sysconfig/console</filename> file with known settings for several
  25. countries was installed with the LFS-Bootscripts package, so the relevant
  26. section can be uncommented if the country is supported. If still in doubt, look
  27. in the <filename class="directory">/usr/share/kbd</filename> directory for valid
  28. keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and
  29. <filename>setfont(8)</filename> to determine the correct arguments for
  30. these programs. Once decided, create the configuration file with the following
  31. command:</para>
  32. <screen><userinput>cat &gt;/etc/sysconfig/console &lt;&lt;"EOF"
  33. <literal>KEYMAP="<replaceable>[arguments for loadkeys]</replaceable>"
  34. FONT="<replaceable>[arguments for setfont]</replaceable>"</literal>
  35. EOF</userinput></screen>
  36. <para>For example, for Spanish users who also want to use the Euro
  37. character (accessible by pressing AltGr+E), the following settings are
  38. correct:</para>
  39. <screen role="nodump"><userinput>cat &gt;/etc/sysconfig/console &lt;&lt;"EOF"
  40. <literal>KEYMAP="es euro2"
  41. FONT="lat9-16 -u iso01"</literal>
  42. EOF</userinput></screen>
  43. <note>
  44. <para>The <envar>FONT</envar> line above is correct only for the ISO 8859-15
  45. character set. If using ISO 8859-1 and, therefore, a pound sign
  46. instead of Euro, the correct <envar>FONT</envar> line would be:</para>
  47. <screen role="nodump"><userinput>FONT="lat1-16"</userinput></screen>
  48. </note>
  49. <para>If the <envar>KEYMAP</envar> or <envar>FONT</envar> variable is not set,
  50. the <command>console</command> initscript will not run the corresponding
  51. program.</para>
  52. <para>In some keymaps, the Backspace and Delete keys send characters different
  53. from ones in the default keymap built into the kernel. This confuses some
  54. applications. For example, Emacs displays its help (instead of erasing the
  55. character before the cursor) when Backspace is pressed. To check if the keymap
  56. in use is affected (this works only for i386 keymaps):</para>
  57. <screen role="nodump"><userinput>zgrep '\W14\W' <replaceable>[/path/to/your/keymap]</replaceable></userinput></screen>
  58. <para>If the keycode 14 is Backspace instead of Delete, create the
  59. following keymap snippet to fix this issue:</para>
  60. <screen role="nodump"><userinput>mkdir -pv /etc/kbd &amp;&amp; cat &gt; /etc/kbd/bs-sends-del &lt;&lt;"EOF"
  61. <literal> keycode 14 = Delete Delete Delete Delete
  62. alt keycode 14 = Meta_Delete
  63. altgr alt keycode 14 = Meta_Delete
  64. keycode 111 = Remove
  65. altgr control keycode 111 = Boot
  66. control alt keycode 111 = Boot
  67. altgr control alt keycode 111 = Boot</literal>
  68. EOF</userinput></screen>
  69. <para>Tell the <command>console</command> script to load this
  70. snippet after the main keymap:</para>
  71. <screen role="nodump"><userinput>cat &gt;&gt;/etc/sysconfig/console &lt;&lt;"EOF"
  72. <literal>KEYMAP_CORRECTIONS="/etc/kbd/bs-sends-del"</literal>
  73. EOF</userinput></screen>
  74. <para>To compile the keymap directly into the kernel instead of
  75. setting it every time from the <command>console</command> bootscript,
  76. follow the instructions given in <xref linkend="ch-bootable-kernel" role="."/>
  77. Doing this ensures that the keyboard will always work as expected,
  78. even when booting into maintenance mode (by passing
  79. <parameter>init=/bin/sh</parameter> to the kernel), because the
  80. <command>console</command> bootscript will not be run in that
  81. situation. Additionally, the kernel will not set the screen font
  82. automatically. This should not pose many problems because ASCII characters
  83. will be handled correctly, and it is unlikely that a user would need
  84. to rely on non-ASCII characters while in maintenance mode.</para>
  85. <para>Since the kernel will set up the keymap, it is possible to omit
  86. the <envar>KEYMAP</envar> variable from the
  87. <filename>/etc/sysconfig/console</filename> configuration file. It can
  88. also be left in place, if desired, without consequence. Keeping it
  89. could be beneficial if running several different kernels where it is
  90. difficult to ensure that the keymap is compiled into every one of
  91. them.</para>
  92. </sect1>