У меня есть система 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
как пользовательгудокописанный.