[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debian Sid, locales y gdm



Hola.

Escribo para comentar un problema que logré solucionar. Aclaro que no
estoy EN la máquina en cuestión así que algunos comandos van de memoria,
espero no equivocarme.

DESCRIPCIÓN DE LA SITUACIÓN:

Habiendo configurado adecuadamente (usando dpkg-reconfigure localeconf y
set-language-env) mi entorno en español (probé con: es_ES@euro,
es_ES.UTF-8, es_UY y es_UY.UTF-8), en un gnome-terminal la salida del
comando locale (tanto con mi usuario como con root) era (con es_ES@euro,
por ejemplo):

$ locale
diego@antu:~> locale
LANG=es_ES@euro
LC_CTYPE="es_ES@euro"
LC_NUMERIC="es_ES@euro"
LC_TIME="es_ES@euro"
LC_COLLATE="es_ES@euro"
LC_MONETARY="es_ES@euro"
LC_MESSAGES="es_ES@euro"
LC_PAPER="es_ES@euro"
LC_NAME="es_ES@euro"
LC_ADDRESS="es_ES@euro"
LC_TELEPHONE="es_ES@euro"
LC_MEASUREMENT="es_ES@euro"
LC_IDENTIFICATION="es_ES@euro"
LC_ALL=

Los archivos /etc/environment y /etc/locale.gen tenían adecuadamente sus
entradas con es_ES@euro y el ISO-8859-15 (en el locale.gen).

SÍNTOMA:

Cuando ejecutaba aplicaciones directamente desde el menú de gnome, por
ejemplo synaptic y gnucash, estas aparecían en inglés o (synaptic) en
español pero se colgaban con facilidad. Si las ejecutaba desde dentro de
una terminal (gnome-terminal), todo funcionaba adecuadamente!
Intentando solucionar el problema con synaptic, hicec un upgrade a su
última versión, y no se solucionó.

Pero por suerte (gracias desarrolladores de synaptic!!!), al arrancar
esta vez me apareció un mensaje de error explicando lo que sucedía. De
alguna forma las variables LANG y sus secuaces quedaban seteadas como
es_ES.ISO-8859-15@euro en vez de es_ES@euro y el synaptic me explicaba
que eso era incorrecto y PODÍA PROVOCAR QUE FUNCIONARA MAL O INCLUSO SE
COLGARA!.

Entonces hice este script y le agregué un lanzador en el menú:
#!/bin/sh
locale > /tmp/verlocale.txt

Para mi sorpresa, la salida del locale cuando se ejecuta desde el menú,
tenía:

LANG=es_ES.ISO-8859-15@euro
LC_CTYPE="es_ES.ISO-8859-15@euro"
LC_NUMERIC="es_ES.ISO-8859-15@euro"
LC_TIME="es_ES.ISO-8859-15@euro"
LC_COLLATE="es_ES.ISO-8859-15@euro"
LC_MONETARY="es_ES.ISO-8859-15@euro"
LC_MESSAGES="es_ES.ISO-8859-15@euro"
LC_PAPER="es_ES.ISO-8859-15@euro"
LC_NAME="es_ES.ISO-8859-15@euro"
LC_ADDRESS="es_ES.ISO-8859-15@euro"
LC_TELEPHONE="es_ES.ISO-8859-15@euro"
LC_MEASUREMENT="es_ES.ISO-8859-15@euro"
LC_IDENTIFICATION="es_ES.ISO-8859-15@euro"
LC_ALL=

SOLUCIÓN:

Entonces me puse a buscar y encontré (Gracias Iván Baldo por la
sugerencia) que en el archivo /etc/gdm/locale.conf había un alias que
decía algo así (no recuerdo si inclcuía el @euro):

Spanish(Spain)    es_ES.ISO-8859-15

lo cambié por:
Spanish(Spain)    es_ES

reinicié el gdm, y eureka!

Ahora todo funciona adecuadamente.

CONCLUSIÓN:

¿Será un bug del gdm en la forma en que se muestran esos alias?

Espero que esto les sirva a los debianeros.

Bytes
DAC
--
Lic. Diego Algorta Casamayou



Reply to: