7.6. Configurar la consola Linux

Esta sección explica cómo configurar el guión de arranque console, el cual establece el mapa del teclado y la fuente de consola. Si no se van a utilizar caracteres no ASCII (como por ejemplo la Libra inglesa y el Euro) y el teclado es del tipo U.S., sáltate esta sección. Sin el fichero de configuración el guión de inicio console no hará nada.

El guión console utiliza /etc/sysconfig/console como fichero de configuración. Decide qué mapa de teclado y fuente de pantalla se usarán. El CÓMO específico para tu idioma puede ayudarte en esto (mira http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html). Con el paquete LFS-Bootscripts se instaló un fichero /etc/sysconfig/console prefabricado con los ajustes conocidos para diversos paises, por lo que basta con descomentar la sección correspondiente si tu país está entre los definidos. Si aún tienes dudas, mira en el directorio /usr/share/kbd los mapas de teclados y fuentes de pantalla válidos. Lee loadkeys(1) y setfont(8) para determinar los argumentos correctos para estos programas. Una vez decidido, crea el fichero de configuración con el siguiente comando:

cat >/etc/sysconfig/console <<"EOF"
KEYMAP="[argumentos para loadkeys]"
FONT="[argumentos para setfont]"
EOF

Por ejemlo, para los usuarios de idioma español que también quieran usar el caracter del Euro (accesible presionano AltGr+e), la siguiente configuración es correcta:

cat >/etc/sysconfig/console <<"EOF"
KEYMAP="es euro2"
FONT="lat9-16 -u iso01"
EOF
[Nota]

Nota

La línea FONT anterior es correcta sólo para el conjunto de caracteres ISO 8859-15. Si se utiliza ISO 8859-1 y, por tanto, el símbolo de la Libra en vez del Euro, la línea FONT correcta sería:

FONT="lat1-16"

Si no se establece la variable KEYMAP o FONT, el guión de inicio console no ejecutará el programa correspondiente.

En algunos mapas de teclado, las teclas Retroceso y Borrar envían caracteres diferentes a los del mapa de teclado incluido en el núcleo. Esto confunde a algunas aplicaciones. Por ejemplo, Emacs muestra su ayuda (en vez de borrar el caracter anterior al cursor) cuando se pulsa Retroceso. Para comprobar si el mapa del teclado en uso está afectado (esto sólo funciona con mapas de teclado i386) haz:

zgrep '\W14\W' [/ruta/a/tu/mapa_de_teclado]

Si el keycode 14 es “Backspace” en lugar de “Delete”, crea el siguiente fragmento de mapa de teclado para corregir el problema:

mkdir -p /etc/kbd && cat > /etc/kbd/bs-sends-del <<"EOF"
                  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
EOF

Indícale al guión console que cargue este fragmento tras el mapa de teclado principal:

cat >>/etc/sysconfig/console <<"EOF"
KEYMAP_CORRECTIONS="/etc/kbd/bs-sends-del"
EOF

Para compilar el mapa de teclado directamente en el núcleo, en vez de establecerlo cada vez desde el guión de arranque console, sigue las instrucciones que se muestran en la Sección 8.3, “Linux-2.6.11.12”. Haciendo esto te aseguras de que el teclado funcione siempre como se espera, incluso cuando arranques en modo de mantenimiento (pasándole init=/bin/sh al núcleo), pues el guión de inicio console no se ejecutará en dicha situación. Adicionalmente, el núcleo no establecerá automaticamente la fuente de pantalla. Esto no debería ser demasiado problema, pues los caracteres ASCII se manejarán correctamente y es improbable que pudieses necesitar caracteres no ASCII estando en modo de mantenimiento.

Puesto que el núcleo establecería el mapa del teclado, se puede omitir la variable KEYMAP del fichero de configuración /etc/sysconfig/console. También puede dejarse en su sitio, si se desea, sin que haya consecuencias. Mantenerlo puede ser beneficioso si posees varios núcleos diferentes y te es difícil asegurar que el mapa de teclado se haya compilado dentro de todos ellos.