Esta sección explica cómo configurar los guiones de arranque console y consolelog, que establecen el mapa del teclado, la fuente de consola y el nivel de registro de la consola del núcleo. 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., puedes saltarte gran parte de esta sección. Sin el fichero de configuración el guión de inicio console no hará nada.
Los guiones console y
consolelog utilizan
/etc/sysconfig/console
como fichero de
configuración. Decide qué mapa de teclado y fuente de pantalla se
usarán. Los diversos CÓMO específicos para cada idioma pueden
ayudarte en esto, consulta http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html.
Si aún tienes dudas, mira en el directorio /lib/kbd
los mapas de teclados y fuentes de
pantalla válidos. Lee las páginas de manual loadkeys(1)
y setfont(8)
para determinar los argumentos correctos
para estos programas.
El fichero /etc/sysconfig/console
debería contener líneas del tipo: VARIABLE="valor". Se reconocen las
siguientes variables:
Esta variable especifica el nivel de registro para los mensajes que el núcleo envía a la consola según establece dmesg. Los niveles válidos van desde "1" (no mensajes) hasta "8". El nivel por defecto es "7".
Esta variable especifica los argumentos para el programa loadkeys, típicamente el nombre del teclado a cargar, por ejemplo “es”. Si no se establece esta variable, el guión de arranque no ejecutará el programa loadkeys, y se usará el mapa de teclado por defecto.
Esta variable (usada en raros casos) especifica los argumentos para la segunda llamada al programa loadkeys. Es útil si el mapa del teclado no es completamente satisfactorio y deben hacerse pequeños ajustes. Por ejemplo, para incluir el símbolo del Euro en un mapa de teclado que no lo tiene, establece esta variable a “euro2”.
Esta variable especifica los argumentos para el programa setfont. Típicamente, esto incluye el nombre de la fuente, “-m” y el nombre de la aplicación de mapa de caractéres a cargar. Por ejemplo, para cargar la fuente “lat1-16” junto con la aplicación de mapa de caractéres “8859-1” (que es lo correcto en USA), establece esta variable a “lat1-16 -m 8859-1”. Si no se establece la variable, el guión de arranque no lanzará el programa setfont y se usará la fuente VGA por defecto junto con la aplicación de mapa de caractéres por defecto.
Establece esta variable a “1”, “yes” o “true”para poner la consola en modo UTF-8. Es útil en locales basadas en UTF-8 e inofensiva en el resto.
Para muchos esquemas de teclado no hay un mapa de teclado Unicode base en el paquete Kdb. El guión de arranque console convertirá al vuelo un mapa de teclado disponible a UTF-8 si esta variable se establece a la codificación del mapa de teclado no UTF-8 disponible.
Algunos ejemplos:
Para una configuración no Unicode, normalmente sólo son necesarias las variables KEYMAP y FONT. Por ejemplo, para configurar el polaco podría usarse:
cat > /etc/sysconfig/console << "EOF"
# Inicio de /etc/sysconfig/console
KEYMAP="pl2"
FONT="lat2a-16 -m 8859-2"
# Fin de /etc/sysconfig/console
EOF
Como se mencionó anteriormente, a veces es necesario ajustar ligeramente el mapa de taclado base. El siguiente ejemplo añade el símbolo del Euro al mapa de teclado alemán:
cat > /etc/sysconfig/console << "EOF"
# Inicio de /etc/sysconfig/console
KEYMAP="de-latin1"
KEYMAP_CORRECTIONS="euro2"
FONT="lat0-16 -m 8859-15"
# Fin de /etc/sysconfig/console
EOF
Lo siguiente es un ejemplo de búlgaro con Unicode activado, donde el mapa de teclado base UTF-8 existe:
cat > /etc/sysconfig/console << "EOF"
# Inicio de /etc/sysconfig/console
UNICODE="1"
KEYMAP="bg_bds-utf8"
FONT="LatArCyrHeb-16"
# Fin de /etc/sysconfig/console
EOF
Debido al uso de una fuente LatArCyrHeb-16 de 512-glifos en el ejempo anterior, los colores brillantes no estarán disponibles en la consola Linux a menos que se utilice framebuffer. Si uno quiere tener colores brillantes sin framebuffer y puede vivir sin los caractéres que no pertenecen a su idioma, es posible usar una fuente de 256-glifos especifica para el idioma, como se muestra a continuación:
cat > /etc/sysconfig/console << "EOF"
# Inicio de /etc/sysconfig/console
UNICODE="1"
KEYMAP="bg_bds-utf8"
FONT="cyr-sun16"
# Fin de /etc/sysconfig/console
EOF
No existe un mapa de teclado UTF-8 preparado para ruso, por tanto este debe generarse mediante la conversión del mapa de teclado KOI8-R, como se muestra a continuación:
cat > /etc/sysconfig/console << "EOF"
# Inicio de /etc/sysconfig/console
UNICODE="1"
KEYMAP="ru_ms"
LEGACY_CHARSET="koi8-r"
FONT="LatArCyrHeb-16"
# Fin de /etc/sysconfig/console
EOF
Algunos mapas de teclado tienen teclas muertas (es decir, teclas que no producen un caracter por si mismas, pero añaden un acento a la tecla pulsada a continuación) o definen reglas de composición (como “pulsa Ctrl+. A E para obtener Æ” en el mapa de teclado por defecto). En modo de teclado UTF-8 Linux-2.6.22.6 asume que los caracteres acentuados mediante teclas muertas o composición se encruentran en el rango Latin-1 de Unicode, y es imposible cambiar dicha asuncion. Por tanto, los caracteres acentuados necersarios para, por ejemplo, el checo, no pueden teclearse en una consola Linux en modo UTF-8 (pero los ficheros que contienen dichos caractéres pueden mostrarse correctamente). Por tanto la solución es o evitar el uso de UTF-8 o instalar el sistema de ventanas X, que no tienes estas limitaciones en su manejo de entrada.
Para chino, japonés, coreano y algunos idiomas mas, la consola Linux no puede configurarse para mostrar los caractéres necesarios. Los usuarios que necesiten dichos idiomas deberían instalar el sistema X Window, fuentes que cubran los rangos de caractéres necesarios, y el método de entrada adecuado (por ejemplo, SCIM soporta una gran variedad de idiomas).
El fichero /etc/sysconfig/console
sólo controla la consola de texto Linux. No tiene nada que ver con
establecer el mapa de teclado y fuentes de terminal correctas en el
sistema X Window, de sesiones ssh o de una consola serie. En dichas
situaciones, las limitaciones mencionadas en los últimos dos puntos
anteriores no son aplicables.