Я хочу изменить локализацию на en_US.utf8
чтобы все сообщения журнала от приложений отображались на английском языке. Это работает, когда я префикс команды с помощью LANG=en_US.utf ./my-command
, теперь каждый вывод ./my-command
английский.
localectl
кажется правильным инструментом, чтобы сделать его постоянным, поэтому я попробовал
[root@cnx65 ~]# localectl set-locale LANG=en_US.utf8
Но когда сейчас работает ./my-command
, вывод по-прежнему на немецком языке. В соответствии с localectl
, у нас есть en_US.utf8
устанавливать:
[root@cnx65 ~]# localectl
System Locale: LANG=en_US.utf8
VC Keymap: de_alt_UTF-8
X11 Layout: us
где locale
а также $LANG
переменная показывает еще немецкий язык:
[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
Я также подтвердил, что языковой стандарт существует с localectl -a
:
[root@cnx65 ~]# locale -a | grep en_US.utf8
en_US.utf8
Почему это не работает? Для меня это не отслеживается. Как видите, все команды выполнялись от имени пользователя root, поэтому проблем с разрешением быть не могло.
Я не хочу просто устанавливать LANG
переменная окружения где-то глобально, как в /etc/profiles
поскольку сервер был подготовлен Ansible, поэтому интерактивной оболочки входа в систему нет.