La configuración regional modificada en CentOS 7 usando localectl no funciona

La configuración regional modificada en CentOS 7 usando localectl no funciona

Quiero cambiar la localización para en_US.utf8que 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-commandes en inglés.

localectlParece 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.utf8fijado:

[root@cnx65 ~]# localectl
   System Locale: LANG=en_US.utf8
       VC Keymap: de_alt_UTF-8
      X11 Layout: us

donde localey también la $LANGvariable 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 LANGvariable de entorno en algún lugar global como /etc/profilesdesde que Ansible aprovisionó el servidor, por lo que no hay un shell de inicio de sesión interactivo.

información relacionada