`Gtk-WARNING **: configuración regional no admitida por la biblioteca C. `al iniciar aplicaciones desde la línea de comandos

31

No obtuve una respuesta pero no estaba haciendo nada y este es un tema interesante. En Ubuntu 12.04, al abrir un archivo en gedit o si estoy trabajando en la línea de comando en dpkg, me devuelve el error "configuración regional no compatible, volviendo a las bibliotecas" C "predeterminadas, y la siguiente,

Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
Linterna Diogenes
fuente
Tus locales parecen estar rotos. ¿Cómo instaló Ubuntu exactamente? Parece que lo instaló de una manera que las configuraciones regionales no están configuradas correctamente. Proporcione más información al respecto en su pregunta (edítela). Y no, la Cconfiguración regional es a donde recurre si no hay una localización disponible. Es del lenguaje de programación C.
gertvdijk
gracias por la respuesta. Mi instalación de Ubuntu es una carpeta dentro del directorio de Windows. Sé por qué lo instalé allí. Fui flojo en la instalación y permití que el demonio de Linux hiciera esa parte por mí.
Diogenes Lantern

Respuestas:

30

Primero asegúrese de que el idioma de su biblioteca esté instalado

sudo apt-get install language-pack-en-base,

por ejemplo.

Luego, como superusuario, acorte el trabajo permitiendo que Ubuntu los configure automáticamente:

sudo dpkg-reconfigure locales

Verifique su configuración, si es correcta, entonces está bien. Pero si tiene la configuración LANG=o en LANGUAGE=blanco, ejecute esto en la línea de comando:

locale -a

Que genera las configuraciones regionales instaladas y disponibles para usted.

Elija la configuración regional de la salida generada que se ajuste a su situación y exporte esa configuración para reemplazar sus configuraciones regionales, por ejemplo:

export LC_ALL="en.utf-8"

Para la instalación manual, use la exportconfiguración regional a mano que instalará manualmente las configuraciones regionales personalizadas, primero ejecute la configuración como se indicó anteriormente.

Luego, digamos que desea instalar "en_us-8"para el idioma pero necesita otra configuración regional para NUMERICy TIME, es posible que desee usar "en_NZ.utf-8"(recuerde: distingue entre mayúsculas y minúsculas) o LANGUAGE="en_GB.utf-8"y NUMERIC="en.dk.ISO-8859-15". Viajando a Nueva Zelanda, podría cambiar la ubicación LANGUAGE="en.NZ". Para Alemania, solo necesitaría instalar el paquete local e ingresarlo, en la terminal, como en los ejemplos a continuación:

export LC_ALL="en_US"
export LANG="en_US"
export LANGUAGE="en_NZ"
export C_CTYPE="en_US"
export LC_NUMERIC=
export LC_TIME=en"en_US"

LC_ALL= puede permanecer vacío

Diogenes Lantern
fuente
3

primero:

sudo apt-get purge locales

luego:

sudo aptitude install locales

y el famoso:

sudo dpkg-reconfigure locales

Esto libera el sistema de configuraciones regionales, luego reinstala las configuraciones regionales y degrada libc6 de 2.19 a 2.13, que es el problema. Luego configura las configuraciones regionales nuevamente.

revs tkjef
fuente
1
Esto es muy, muy engañoso. Nunca use esta respuesta, el primer comando soltará mucho software junto con sus datos, por ejemplo postgresql.
Eric Wang
@EricWang tiene razón en que puede soltar otro software, y eso sucederá porque ese software depende de la biblioteca libc6 2.19 (o algo más alto). Muy a menudo, ese software fue lo que actualizó su sistema y lo puso en este estado de configuraciones regionales que no son compatibles con la biblioteca C. En cualquier caso, debe revisar lo que se está eliminando antes de confirmar.
tkjef
3

Esto se me ocurrió más de una vez, en mi mint mate 18, que está basado en Ubuntu 16.04, por lo que me gustaría compartir la solución que encontré, en caso de que alguien lo necesite.

Pasos:

(Estos pasos funcionan para mint mate, pero Ubuntu puede tener configuraciones similares, no estoy seguro)

  • Abra "configuración de idioma".
  • Instalar idiomas, si faltan. (Para mí, instalaría los idiomas chino y japonés además del inglés)
  • Para la opción Languagey Region, asegúrese de que el idioma predeterminado para ellos sea el adecuado, por ejemplo, configurado en "Inglés, Estados Unidos UTF-8",
  • Reiniciar, si se realiza algún cambio.
  • Comprueba si está bien.
Eric Wang
fuente
0

Con las configuraciones regionales debe eliminar el idioma que entra en conflicto con su sistema, esto funcionó para mí, en ubunty kylin 16.04, lo instalé sobre ubuntu 14.04

Bart
fuente
0

simplemente funcionó bien para mí yendo a gnome-terminal y escribiendo el comando apt --fix locales y reinicie su linux y su espera para que el error del terminal termine. Estaría en su monitor esta vez con seguridad.

Shashank
fuente
0
$ mkdir -p $HOME/.locale
$ I18NPATH=./wrk/ localedef -f UTF-8 -i fi_SE $HOME/.locale/fi_SE.UTF-8
$ LOCPATH=$HOME/.locale LC_ALL=fi_SE.UTF-8 date
$ echo "export LOCPATH=\$HOME/.locale" >> $HOME/.bashrc
$ echo "export LANG=fi_SE.UTF-8" >> $HOME/.bashrc

fi_SE a su LOCALE, y vea UTF-8 o utf8

Dzmitry
fuente
0

Logré causar esto yo mismo al migrar los archivos de puntos del directorio de inicio a una nueva máquina, y no pude identificar la causa por un tiempo debido a la búsqueda de archivos LC_pero no LOC.

El ~/.bashrcarchivo que copié tenía lo siguiente:

export LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale

(el valor particular aquí fue debido a experimentos previos con GNU Guix en la máquina antigua; pero el hecho relevante es simplemente que la variable de entorno se configuró en una ruta ahora no válida).

Esto dio como resultado el siguiente error al ejecutar varios programas:

Warning: locale not supported by C library, locale unchanged

Y estos errores al ejecutar locale:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Eliminar (o comentar) la LOCPATHlínea resolvió mis problemas.

phils
fuente