No se puede generar la configuración regional en_US.UTF-8


8

He estado tratando de configurar mi configuración regional en_US.UTF-8sin ningún éxito. Basado en otras respuestas en Internet, primero debería generar la configuración regional con

sudo locale-gen en_US.UTF-8

Y luego aplicarlo con

sudo dpkg-reconfigure locales

Sin embargo, correr locale-genhace algo extraño:

user@Host /home/user $ sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
  en_US.ISO-8859-1... done
Generation complete.

Como puede ver, en realidad nunca genera UTF-8, sino que sigue recurriendo a ISO-8859-1. Nunca puede llegar a establecer LC_ALLa en_US.UTF-8, probablemente porque no puede generar.

¿Estoy haciendo algo mal? Estoy ejecutando Debian 8.1.

Respuestas:


28

Intentó aplicar una receta para Ubuntu en Debian. Eso generalmente funciona, pero en este caso específico no lo hace.

Ubuntu se deriva de Debian, y no cambia mucho aparte del instalador y la GUI. El locale-gencomando es una de esas pocas cosas que cambia. No se porque.

Bajo Debian, el locale-gencomando no toma argumentos y regenera las definiciones locales compiladas de acuerdo con la lista configurada de configuraciones regionales. Para modificar la selección de configuraciones regionales que desea usar, edite el archivo y /etc/locale.genluego ejecute el locale-gencomando. Alternativamente, ejecute dpkg-reconfigure localescomo root, seleccione las configuraciones regionales adicionales que desee (y deseleccione las que no desea), y presione OK.

En Ubuntu, si ejecuta el locale-gencomando sin argumentos, regenera las definiciones locales compiladas de acuerdo con la lista configurada de configuraciones regionales. Pero si pasa algunos argumentos, se agregan a la lista y se generan de inmediato. La lista de configuraciones regionales se mantiene en /var/lib/locales/supported.d/local. La ejecución dpkg-reconfigure localessolo regenera las configuraciones regionales compiladas sin darle la oportunidad de modificar la selección.

En resumen, para agregar en_US.UTF-8a la lista de configuraciones regionales utilizables:

  • Debian, interactivo: dpkg-reconfigure locales
  • Debian, automatizado: sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen && locale-gen
  • Ubuntu, automatizado: locale-gen en_US.UTF-8

Entonces, ¿cómo agregaría paquetes dpkg-reconfigure? Obtuve la interfaz interactiva, pero al seleccionar un elemento con enter, no se instaló.
Erik S

@ ErikDolor No entiendo tu pregunta. A menos que haya cambiado la configuración de debconf, dpkg-reconfigure localesaparece un cuadro de diálogo de modo de texto, con una casilla de verificación para cada configuración regional que se puede generar. Desplácese hacia abajo en_US.UTF-8, verifíquelo y presione el botón OK.
Gilles 'SO- deja de ser malvado'

Intenté comprobarlo con el botón Intro, pero aparentemente funcionó como presionar OK.
Erik S

2
@ErikDolor Oh. Presione la barra espaciadora para alternar una casilla de verificación.
Gilles 'SO- deja de ser malvado'

También funciona para raspbian jessie
Neo_Returns

5

Después de leer el archivo man para locale-gen en lugar de confiar ciegamente en Internet, descubrí que en locale-genrealidad toma las configuraciones regionales para generar /etc/locale.gen. Al descomentar en_US.UTF-8allí, logré generarlo.


sed -i '/^#.* es_ES / s / ^ # //' /etc/locale.gen Si está usando docker, esto podría ser útil
Borjante

¡La ÚNICA respuesta que me funcionó después de recorrer Internet durante días! ¡Muchas gracias!
I.Am.A.Guy
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.