Настройка переменных локализации в Linux
Конфигурационный файл находится /etc/default/locale.
Команда locale запущенная без ключей выведет настройки текущей локали.
# locale -a | grep ru ru_RU ru_RU.iso88595 ru_RU.koi8r ru_RU.utf8 russian ru_UA ru_UA.koi8u ru_UA.utf8
Подробный вывод с ключом -v
d# locale -a -v locale: en_US.utf8 archive: /usr/lib/locale/locale-archive ------------------------------------------------------------------------------- title | English locale for the USA source | Free Software Foundation, Inc. address | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA email | bug-glibc-locales@gnu.org language | English territory | USA revision | 1.0 date | 2000-06-24 codeset | UTF-8 locale: ru_RU.utf8 archive: /usr/lib/locale/locale-archive ------------------------------------------------------------------------------- title | Russian locale for Russia source | RAP address | Sankt Jorgens Alle 8, DK-1615 Kobenhavn V, Danmark email | bug-glibc-locales@gnu.org language | Russian territory | Russia revision | 1.0 date | 2000-06-29 codeset | UTF-8
Если в ответ получаем отличное от ru_RU.UTF — перенастраиваем.
# locale-gen ru_RU ru_RU.UTF-8 ru_RU ru_RU.UTF-8 # localedef -c -i ru_RU -f UTF-8 ru_RU.UTF-8 # dpkg-reconfigure locales # update-locale LANG=ru_RU.UTF-8
Red Hat / CentOS
Включение системных средств локализации в Red Hat Linux (а, следовательно, и в других дистрибутивах, основанных на Red Hat) осуществляется из файла /etc/profile.d/lang.sh. Как известно, при старте любого shell-а сначала выполняется /etc/profile. В Red Hat в /etc/profile прописаны команды, благодаря которым на исполнение вызываются также все файлы /etc/profile.d/*.sh
Значения переменных локализации в файлах lang.sh задаются путем вызова на выполнение файла /etc/sysconfig/i18n.
# nano /etc/sysconfig/i18n LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"
Правда, это верно только для случая, когда вы имеете права суперпользователя root. Но даже если вы простой пользователь Linux-системы и не можете редактировать файл /etc/sysconfig/i18n, то вы все же можете включить локализацию для себя, но несколько иным способом. А именно, поместите в свой файл $HOME/.profile (или в любой файл, который исполняется в процессе логирования пользователя: $HOME/.Xclients, $HOME/.xinitrc или другой) следующие строки: /etc/profile или $HOME/.bash_profile
#export LANG=ru_UA.utf8 #export LINGUAS=ru_RU:en #export LC_ALL="ru_UA.utf8" export LANG="en_US.UTF-8" export LC_ALL="en_US.UTF-8" export LC_CTYPE="en_US.UTF-8"
Чтобы изменения принялись нужно перезайти в консоль или выполнить команду source для файла в котором вы прописали export
$ source ~/.profile
Debian
- Проверяем текущие значения переменных и установленные локали
# echo $LC_CTYPE # echo $LANG # locale -a C POSIX
- Доусстановливаем нужные локали
# dpkg-reconfigure locales en_US.UTF-8 ru_UA.UTF-8
- В файлы Основы BASH скрипты, циклы, горячие клавиши.bashrc и profile добавляем экспорт переменной LANG
# nano /etc/bash.bashrc # nano /etc/profile export LANG=en_US.UTF-8
Ubuntu 12.04 - удаление локалей и локализаций
Удаление лишних локалей в Ubuntu. Делал такие телодвижения:):
- В файле locale-gen посмотрел пути в которых хранятся файлы локалей.
nano /usr/sbin/locale-gen ... SUPPORTED=/var/lib/locales/supported.d LOCALES=/usr/share/i18n/locales STATEDIR=/var/lib/belocs ...
- В директории supported.d отредактировал файлы, оставил только нужные локали
# ls -l /var/lib/locales/supported.d итого 12 -rw-r--r-- 1 root root 18 Май 30 22:09 en -rw-r--r-- 1 root root 36 Май 1 21:53 local -rw-r--r-- 1 root root 36 Апр 18 11:31 ru
- Поставил и настроил утилиту localepurge, она служит для удаления файлов локализаций, а не локалей
# aptitude install localepurge # nano /etc/locale.nopurge MANDELETE DONTBOTHERNEWLOCALE SHOWFREEDSPACE #QUICKNDIRTYCALC VERBOSE en_US.UTF-8 ru_RU.UTF-8 ru_UA.UTF-8
- Запустил localepurge -v. Файлов много удалило, но вывод locale -a не изменился.
- Перегенируем локали с ключом purge
~# locale-gen --purge Generating locales... en_US.UTF-8... done ru_RU.UTF-8... done ru_UA.UTF-8... done Generation complete.
- Проверяем. Теперь все правильно остались только нужные мне локали
~# locale -a C C.UTF-8 en_US.utf8 POSIX ru_RU.utf8 ru_UA.utf8
Ubuntu добавление локали
- Источник: How do I add locale to ubuntu server?
- Какие локали поддерживает Ubuntu? Находим нужную нам, например en_US.UTF-8 UTF-8
less /usr/share/i18n/SUPPORTED
- Добавим нужную нам локаль в список для создания локалей
echo 'en_US.UTF-8 UTF-8' >> /var/lib/locales/supported.d/local; echo 'uk_UA.UTF-8 UTF-8' >> /var/lib/locales/supported.d/local;
- Пересоздадим локали
dpkg-reconfigure locales
Ссылки
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах