11 septiembre 2006

Dar soporte para el euro a la shell

En KDE es relativamente fácil (no, quería decir rematadamente fácil) dar soporte para el euro: basta instalar las locales (kde-i18n-es) y elegir el mapa de teclado adecuado. Sin embargo, para que en Debian Sarge la shell soporte los signos €, ñ, etc. hay que dar algunos pasos.

El primero de ellos es instalar el paquete user-euro-es. Nada más sencillo:

apt-get install user-euro-es

Debconf informa entonces de lo más básico: nos habla del script eurocastellanizar (que muchas veces no funciona, bien por no tener la fuente de consola adecuada, bien por no tener configuradas las locales en /etc/locale.gen) y del euro-howto, localizado en nuestro sistema en /usr/share/doc/user-euro-es/euro-howto.txt.

Los pasos a seguir son bastante sencillos, siempre y cuando se conozcan. Con ellos, además del soporte para el euro y los signos especiales del castellano, conseguiremos darle una utilidad a la fastidiosa tecla Windows (la que lleva el simbolito del innombrable).

Después de instalar el paquete user-euro-es editamos el script /etc/init.d/keymap.sh y, según el manual, debemos buscar la línea que pone

loadkeys ${CONFDIR}/${CONFFILEROOT}.${EXT}.gz.

El manual es clarito, pero algo antiguo: está escrito para... Debian Potato!!! Así que sencillamente no existe esa línea. Bien, lo que hay que buscar es un condicional:

if [ $CONSOLE_TYPE = "serial" ]

¿Ya? Vale. Como veis, si la condición es verdadera, se ejecuta

loadkeys -q ${CONFFILE} 2>&1 > /dev/null

a lo que nosotros añadimos:

loadkeys euro.inc
loadkeys windowkeys.inc


El siguiente paso es generar las locales. Para ello hay que editar el /etc/locale.gen, y descomentar o añadir la línea es_ES@euro ISO-8859-15, que es la fuente que necesitamos. Ya sólo queda generarlos con un

/usr/sbin/locale-gen

Ya queda poco, sólo un par de cosas más. Primero editamos /etc/environment para añadir LANG=es_ES@euro. Hacemos lo propio con /etc/profile, pero aquí ponemos

if [ -f /etc/language-euro-es ]; then source /etc/language-euro-es; fi

Y listo. Ya sólo nos queda hacer un

invoke-rc.d keymap.sh restart

o, si te gusta más del modo estándar:

/etc/init.d/keymap.sh restart

Ahora sí. Y como extra (ya lo adelanté antes) conseguimos darle una utilidad a las teclas Windows y Menú contextual gracias a que añadimos la línea loadkeys windowkeys.inc en el script keymap.sh: con la primera podremos movernos directamente de una tty a la siguiente, mientras que con la segunda podremos saltar de una tty a la que hayamos estado anteriormente (muy útil para alternar dos consolas).

Como dije al principio, es un proceso bastante sencillo siempre y cuando se conozcan los pasos a seguir. Por eso lo dejo aquí para el que lo necesite (incluyéndome a mí en el futuro, aka chuleta ;)

No hay comentarios: