He configurado un nuevo servidor Ubuntu 16.04, pero cuando intento cambiar permanentemente la configuración regional, falla y vuelve a la configuración regional POSIX.
Al escribir se locale
obtiene lo siguiente:
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
Que yo sepa, esto significa que no se ha establecido ninguna configuración regional, ya que la documentación indica que POSIX es la " codificación ASCII alternativa, igual que C ".
Para asegurar que las configuraciones regionales de_AT.utf8
y en_US.utf8
estuvieran presentes en mi sistema, ejecuté locale -a
, lo que produjo:
C
C.UTF-8
POSIX
de_AT.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
Tenga en cuenta las inconsistencias con C.UTF-8
, pero de_AT.utf8
! Lo que más me preocupa es que POSIX es la tercera entrada, mientras que en un sistema de trabajo diferente, es el último de la lista.
Para cambiar mi idioma en_US.utf8
, escribí sudo update-locale LANG=en_US.utf8
. El locale
comando aún mostraba la localización POSIX. Después de un cierre de sesión y un nuevo inicio de sesión, locale
todavía se muestra el entorno local POSIX. Después de un reinicio, locale
todavía se muestra el entorno local POSIX.
Sin embargo, cuando escribo export LANG=en_US.utf8
, funciona temporalmente, pero solo hasta que finalice la sesión. Como tal, estoy bastante seguro de que las configuraciones regionales se generaron correctamente.
Se me acabaron las ideas. Intenté regenerar todas las configuraciones regionales, pero parece que /etc/default/locale
simplemente se está ignorando.
En aras de la finalización, /etc/default/locale
solo contiene la líneaLANG=en_US.utf8
ACTUALIZACIÓN: // Intenté ejecutar sudo localectl set-locale LANG=en_US.UTF-8
, y localectl
también me mostró que establece la configuración regional, pero incluso después de un reinicio, locale
todavía muestra POSIX y los caracteres no ASCII todavía no se representan correctamente.
systemd
forma localectl set-locale LANG=C.UTF-8
:?
/etc/pam.d
, debería funcionar. Pero como truco por ahora, es posible que desee crear /etc/profile.d/mylocalesetting.sh
y agregar la línea export LANG=en_US.UTF-8
.
/etc/default/locale
es leída por PAM. ¿Posiblemente desactivaste PAM?