
Quiero cambiar la localización para en_US.utf8
que todos los mensajes de registro de las aplicaciones se muestren en inglés. Esto funciona cuando antepongo el comando con LANG=en_US.utf ./my-command
, ahora cada salida ./my-command
es en inglés.
localectl
Parece la herramienta adecuada para hacerlo permanente, así que intenté
[root@cnx65 ~]# localectl set-locale LANG=en_US.utf8
Pero cuando se ejecuta ahora ./my-command
, la salida todavía está en alemán. Según localectl
, hemos en_US.utf8
fijado:
[root@cnx65 ~]# localectl
System Locale: LANG=en_US.utf8
VC Keymap: de_alt_UTF-8
X11 Layout: us
donde locale
y también la $LANG
variable muestra todavía alemán:
[root@cnx65 ~]# locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
[root@cnx65 ~]# echo $LANG
de_DE.UTF-8
También verifiqué que la configuración regional existe con localectl -a
:
[root@cnx65 ~]# locale -a | grep en_US.utf8
en_US.utf8
¿Por qué esto no funciona? No es rastreable para mí. Como puede ver, todos los comandos se ejecutaron como root, por lo que no podría haber un problema de permisos.
No quiero simplemente configurar la LANG
variable de entorno en algún lugar global como /etc/profiles
desde que Ansible aprovisionó el servidor, por lo que no hay un shell de inicio de sesión interactivo.