domingo, 2 de mayo de 2010

Mapa del teclado en consola

Cuando estamos instalando Debian GNU/Linux y somos españoles lo mas normal es seleccionar el idioma y la distribución del teclado en español.


Suele pasar que por error nuestro en alguna actualización, o por un fallo del paquete de idiomas en una actualización, etc.... el mapa del teclado se desconfigure y lo habitual es que el mapa del teclado se autoconfigure por defecto en ingles.

Uno de los aspectos más molestos es no poder escribir con naturalidad en nuestro idioma (español en este manual) por falta de soporte de los caracteres especiales en el software. El juego de caracteres básico de ASCII es de 7 bits, y no incluye ni las vocales acentuadas ni la letra 'ñ'.


Existe la norma ISO-8859-1 también llamada ISO-Latin1 que abarca todos los caracteres.


Aun así existen problemas con el correo electrónico, muchos sistemas solo respetan 7 bits, por lo tanto, textos que podemos ver correctamente en nuestro ordenador probablemente se visualizará muy mal cuando los enviemos a otra persona.




Configurando la consola

Loadkeys

Loadkeys es un comando que se encuentra en el paquete kbd o console-tools (dependiendo de cual de los dos estés usando en ese momento), por lo tanto has te tener instalado al menos uno de estos dos paquetes.

Mediante el comando loadkeys se cargan eventualmente (hasta el próximo reinicio) las tablas de traducción del teclado. Estas tablas traducen los códigos que se generan al pulsar las teclas.

Los ficheros que contienen estas tablas de traducción se encuentran en el directorio /usr/share/keymaps/i386/qwerty y el fichero que contiene el mapeado del teclado español se denomina es.kmap.gz Su objetivo es que si pulsamos una determinada combinación de teclas, aparezca en pantalla el carácter que tenemos pintado en nuestro teclado, y no su equivalente en el teclado que se usa en cualquier otro país, (por defecto se autoconfigura en ingles).



Por lo tanto para reconfigurar y cambiar el mapa del teclado (keymap) a español (es), eventual y rápidamente debemos de usar cualquiera de estos dos comandos:

loadkeys /usr/share/keymaps/i386/qwerty/es.kmap.gz

loadkeys es



Locales
Si usamos el comando locale en la consola de gnu/linux, este nos muestra la zona geográfica actualmente configurada.


En caso que tengamos el idioma mal configurado tendríamos que volver a reconfigurar las locales para el idioma español.

Para reconfigurar las locales usamos el siguiente comando:
dpkg-reconfigure locales

Debian GNU/Linux usa el paquete "locales" para instalar uno o varios de los muchísimos idiomas a los que esta traducidos.

Lo mas normal es que tengamos instalado dicho paquete, en caso de no ser así procederemos a su instalación, como siempre hacemos en este blog usamos synaptic o bien desde consola.

# apt-get install locales






Cambiar el idioma por defecto a español.

Lanzamos un consola virtual y nos logeamos como usuario root, y ejecutamos el siguiente comando:

dpkg-reconfigure locales



Al pulsar intro nos presenta el siguiente asistente de configuración en el cual hemos de ir seleccionando la o las opciones que nos interesen.

Observación: en este tipo de menús usamos las teclas de cursores (las flechitas) para movernos, la barra espaciadora la usamos para seleccionar, la tecla tabulador (Tab, arriba de Bloqueo Mayúsculas) la usamos para alternas entre las opciones disponibles y la tecla Intro (enter) se usa para aceptar la selección.


Para poner nuestro sistema Debian GNU/Linux en idioma español hemos de marcar las siguientes opciones.

es_ES@euro ISO-8859-15
es_ES ISO-8859-1
es_ES.UTF-8 UTF-8


==================================================
NOTA: las dos primeras letras en minúsculas indican el idioma ("es" para español), las siguientes dos en mayúsculas indican el país ("ES" para España) y lo siguiente a partir del idioma ("@euro ISO-8859-15" "ISO-8859-1" "UTF-8") es el tipo de codificación que utilizan para representar los carateres.
==================================================



En la siguiente pantalla nos pregunta: ¿cual de los idiomas seleccionas quiere que sea el predeterminado?, en mi caso he elegido es_ES@euro


En la siguiente pantalla nos informa que se ha completado con éxito, la instalación de los idiomas seleccionados.


Para asegurarnos que todo se ha configurado perfectamente usamos el siguiente comando:

locale


==================================================


Explicación de las normas de codificación de caracteres:

ISO 8859-1: es una norma de la ISO que define la codificación del alfabeto latino, incluye los diacriticos (como letras acentuadas, ñ, ç), y letras especiales (como ß, Ø), necesarios para la escritura de las siguientes lenguas originarias de Europa occidental: afrikaans, alemán, aragonés, catalán, danés, escocés, español, feroés, finés, francés, gaélico, gallego, inglés, islandés, italiano, neerlandés, noruego, portugués, sueco y vasco.

También conocida como Alfabeto Latino n.º 1 o ISO Latín 1

Esta norma pertenece al grupo de juegos de caracteres de la ISO conocidas como ISO-8859 que se caracterizan por poseer la codificación ASCII en su rango inicial (128 caracteres) y otros 128 caracteres para cada codificación, con lo que en total utilizan 8 bits.

Los caracteres de ISO-8859-1 son además los primeros 256 caracteres del estándar ISO 10646 (Unicode).


ISO 8859-15; es la parte 15 de ISO 8859,un estándar de codificación de caracteres definido por la Organización Internacional para la Estandarización (ISO). Es similar a ISO 8859-1 pero sustituye algunos símbolos poco comunes por el símbolo del euro y algunos otros caracteres que faltaban. Codifica los caracteres con 8 bits y puede usarse para representar el alfabeto y otros caracteres importantes para almacenar textos en: inglés, francés, alemán, español y portugués (entre otros idiomas de Europa occidental) en ordenadores.

Este conjunto de caracteres tambieén se denomina ISO_8859-15 y Latín-9.


UTF-8; (8-bit Unicode Transformation Format) es una norma de transmisión de longitud variable para caracteres codificados utilizando Unicode. Usa grupos de bytes para representar el estándar de Unicode para los alfabetos de muchos de los lenguajes del mundo. Es especialmente útil para la transmisión sobre sistemas de correo de 8 bits.





Re-Configurando la consola

Para reconfigurar la consola hemos de instalar con la ayuda de synaptic o bien desde consola, los siguientes paquetes:

apt-get install console-data
apt-get install console-setup
apt-get install console-common
apt-get install console-tools




Ahora tenemos dos opciones para reconfigurar el mapa del teclado para la consola gnu/linux.

1- Usando el comando: dpkg-reconfigure console-data

Lanzamos una consola gnu/Linux como administrador y ejecutamos el siguiente comando dpkg-reconfigure console-data, para reconfigurar el mapa del teclado en español.


Al cargar el script lo primero que hacemos es posicionarnos en: Elegir el mapa de teclado de la lista completa y pulsamos en aceptar


de la lista que nos aparece seleccionamos el siguiente para el idioma español.
pc/qwerty/Spanish/Standard/Standar y pulsamos en aceptar.



en la siguiente captura de pantalla nos informa que se ha configurado perfectamente el mapa del teclado en idioma español.



2- Usando el comando: dpkg-reconfigure console-setup

Lanzamos una consola gnu/Linux como administrador y ejecutamos el siguiente comando dpkg-reconfigure console-setup, para reconfigurar el mapa del teclado en español.


Al cargar el script, lo primero que tenemos que seleccionar es el tipo de mapa de teclado que vamos a usar, en nuestro caso seleccionamos ISO-8859-1


apto seguido seleccionamos el Conjunto de caracteres que debe utilizar la tipografía en la consola



en la siguiente pantalla seleccionamos el tipo de letra a usar. personalmente me gusta "vga"


ahora elegimos el tamaño de la letra.



como el proceso de reconfigurar el teclado ha sido perfecto nos devuelve a la consola gnu/linux, para seguir trabajando con ella.



Con esto ya tenemos nuestra consola configurada en español.

























.