изменение текущей установленной локали в Linux(Ubuntu)

изменение текущей установленной локали в Linux(Ubuntu)

У меня есть система Ubuntu, на которой текущая локаль (вывод команды locale):

LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

Я хочу изменить его на en_GB, поскольку некоторые символы некорректно обрабатываются на дисплее терминала.

Какая команда позволяет изменить локаль?

Какую команду можно использовать, чтобы узнать, какие локали доступны в текущей системе, и установить/попробовать их?

решение1

Используемая локаль задается с помощью переменных окружения для процесса (например, оболочки, запущенной в вашем терминале).

В большинстве случаев достаточно просто изменить LANG, если вы используетеbash

$ export LANG=en_GB

Добавьте это в свой ~/.profileфайл, чтобы он работал для всех (даже нетерминальных) процессов.

/usr/share/locale/Список локалей можно посмотреть здесь .

решение2

Вы также можете использовать , locale -aчтобы получить список доступных локалей в вашей системе (в дополнение к /usr/share/locale/, некоторые могут быть найдены в /usr/lib/locale/. Для установки локали также есть команда setlocale, но я так и не смог заставить ее работать и использовал ее exportкак пользовательгудокописанный.

Связанный контент