Как изменить locale linux

Содержание
  1. Изменить, добавить locale в Linux
  2. 1. Посмотреть текущую locale
  3. 2. Добавить \ установить новую locale
  4. Expert Users
  5. Посмотреть текущую локаль
  6. Установленные локали
  7. Установить новую локаль
  8. Изменить локаль временно
  9. Изменить локаль постоянно, для пользователя
  10. Изменить локаль постоянно, для всей системы
  11. Locale (Русский)
  12. Contents
  13. Генерирование локалей
  14. Установка локали
  15. Установка системной локали
  16. Переопределение системной локали в пользовательском сеансе
  17. Немедленное применение изменений локали
  18. Дополнительно
  19. Переменные окружения
  20. LANG: локаль по умолчанию
  21. LANGUAGE: запасные локали
  22. LC_TIME: формат даты и времени
  23. LC_COLLATE: порядок сортировки
  24. LC_ALL: решение проблем
  25. Советы и рекомендации
  26. Запуск приложения с другой локалью в терминале
  27. Запуск приложения с другой локалью из меню
  28. Решение проблем
  29. Эмулятор терминала не поддерживает UTF-8
  30. gnome-terminal или rxvt-unicode не поддерживают UTF-8
  31. Моя система использует неверный язык
  32. Настройка русской локали в Linux
  33. Подготовка к настройке
  34. Настройка локали в CentOS, Fedora
  35. Настройка локали в Debian, Ubuntu
  36. Как сменить locale в Debian или пишем кириллицей в консоли linux

Изменить, добавить locale в Linux

На примере Debian 7.6.

Locale – это локализация Linux которая определяет в какой кодировке пользователь видит всё в терминале.

1. Посмотреть текущую locale

В текущем примере текущая locale = en_US.UTF-8 где

en — Код языка по стандарту ISO 639
US — Код страны по стандарту ISO 3166
UTF-8 – Кодировка текста

# locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=»en_US.UTF-8″
LC_NUMERIC=»en_US.UTF-8″
LC_TIME=»en_US.UTF-8″
LC_COLLATE=»en_US.UTF-8″
LC_MONETARY=»en_US.UTF-8″
LC_MESSAGES=»en_US.UTF-8″
LC_PAPER=»en_US.UTF-8″
LC_NAME=»en_US.UTF-8″
LC_ADDRESS=»en_US.UTF-8″
LC_TELEPHONE=»en_US.UTF-8″
LC_MEASUREMENT=»en_US.UTF-8″
LC_IDENTIFICATION=»en_US.UTF-8″
LC_ALL=

Чтобы посмотреть все установленные в системе locale

# locale -a
C
C.UTF-8
en_US.utf8
POSIX
ru_RU
ru_RU.cp1251

2. Добавить \ установить новую locale

Список всех доступных для установки locale (в других версиях Linux, файл может быть другим, не locale.gen).

# cat /etc/locale.gen

Если в списке нет подходящей locale то возможно она просто не установлена и ее нужно установить

# apt-get -y install language-pack-ru

Locale можно устанавливать через

# locale-gen ru_RU.cp1251
# update-locale

Но удобнее делать с это с помощью псевдографической утилиты (в других версиях Linux могут быть свои средства). В этой утилите можно так же изменить locale которая используется по умолчанию в системе.

# dpkg-reconfigure locales

Источник

Expert Users

Locale позволяет программам отображать инфорацию согласно вашему языку или стране. Например, при установке Ubuntu нужно выбрать географическое положение на карте, согласно которому и установится локаль по умолчанию. Но иногда бывает нужно сменить локаль, либо установить новую. О чем и пойдет речь ниже.

Посмотреть текущую локаль

Чтобы вывести все переменные окружения текущей локали, откройте терминал и введите команду:

При этом локаль задается в формате _ . , например, русская локаль с UTF-8 кодировкой задается как ru_RU.UTF-8.

Установленные локали

Для того, чтобы просмотреть все доступные локали, установленные в системе, введите команду:

Установить новую локаль

Если вы не нашли нужную локаль в списке установленных, то вы можете поискать ее в списке поддерживаемых локалей, в файле:

Нужную локаль можно установить с помощью команды locale-gen:

После того, как вы установили локаль, она должна появиться в списке установленных:

Изменить локаль временно

Чтобы изменить локаль или переменную локализации временно (она будет активна только во время текущей сессии), введите имя переменной, знак равно и новое значение. Например, изменим переменную окружения LC_TIME, задающую формат времени и даты:

Изменить локаль постоянно, для пользователя

Если вы хотите, чтобы локаль устанавливалась для определенного пользователя при каждом входе в систему, вы можете настроить это в файле

/.bashrc. Для этого откройте файл

Читайте также:  Network sign in windows 10

/.bashrc и добавьте внизу одну строчку, например, чтобы задать переменную LANG:

Изменения вступят в силу при следующем входе в систему.

Изменить локаль постоянно, для всей системы

Если вы хотите изменить системную локаль, то просто откройте файл и измените нужные переменные локализации:

Изменения вступят в силу после перезагрузки.

Как все это работает, вы можете посмотреть в данном видео:

Источник

Locale (Русский)

Локали определяют язык, который использует система, а также региональные особенности, такие как денежные знаки, формат чисел, даты и времени и наборы символов. Они используются glibc и некоторыми другими программами или библиотеками для рендеринга текста.

Contents

Генерирование локалей

Имена локалей обычно имеют вид [язык][_ТЕРРИТОРИЯ][.НАБОР_СИМВОЛОВ][@модификатор] , где язык это код языка ISO 639, ТЕРРИТОРИЯ это код страны ISO 3166 и НАБОР_СИМВОЛОВ это кодировка вроде ISO-8859-1 или UTF-8. Смотрите setlocale(3) .

Чтобы вывести список всех доступных и сгенерированных локалей, выполните:

Перед тем, как локаль сможет быть использована в системе, она должна быть сгенерирована. Локали, которые вы можете сгенерировать перечислены в файле /etc/locale.gen . Чтобы сгенерировать локаль, первым делом раскомментируйте соответствующую строку в файле (а для удаления наоборот, закомментируйте); вы можете раскомментировать несколько локалей, в зависимости от ваших потребностей.

Например, для русской локали раскомментируйте ru_RU.UTF-8 UTF-8 :

После сохранения файла сгенерируйте выбранные локали командой:

Установка локали

Чтобы отобразить текущую локаль и связанные с ней переменные окружения, наберите:

Используемая локаль, выбранная среди сгенерированных в системе, устанавливается в файлах locale.conf , каждый из которых должен содержать список переменных окружения в том же формате, в каком их выводит команда locale.

Чтобы посмотреть список доступных ранее сгенерированных локалей, выполните:

Также можно использовать localectl(1) :

Установка системной локали

  • Системная локаль устанавливается с помощью переменной LANG в файле /etc/locale.conf . Значением должен быть первый столбец из раскомментированной записи в /etc/locale.gen :

Вы можете установить ее также при помощи localectl:

Переопределение системной локали в пользовательском сеансе

  • Системная локаль может переопределяться в каждом пользовательском сеансе с помощью файла

/.config/locale.conf (или, в общем случае, $XDG_CONFIG_HOME/locale.conf либо $HOME/.config/locale.conf ).

Немедленное применение изменений локали

После внесения изменений в файлы locale.conf , они вступят в силу после перезагрузки системы, и для отдельных сеансов пользователей — при входе. Чтобы принудительно обновить локаль в текущем окружении без перезагрузки, выполните:

Дополнительно

Переменные окружения настроек локали могут также быть установлены обычным способом, как указано на странице переменные окружения.

Например, чтобы проверить, как работает конкретное приложение с какой-нибудь локалью, вы можете запустить его следующим образом:

Аналогично, для установки локали всем процессам, запускаемом из текущей командной оболочки (например, в процессе установки системы):

Переменные окружения

Файлы locale.conf могут содержать следующие переменные окружения:

Полное объяснение этих переменных можно узнать в locale(7) , детали описаны в locale(5) .

LANG: локаль по умолчанию

Локаль, установленная в этой переменной используется в качестве значения для всех остальных LC_* -переменных, которые не установлены явно.

LANGUAGE: запасные локали

Программы, использующие gettext для перевода, учитывают также переменную LANGUAGE в дополнение к стандартным переменным. Это позволяет пользователям установить список локалей, которые будут использоваться в указанном порядке для поиска перевода. Если перевод для более предпочтительной локали (которая идет первее в списке) недоступен, будет произведена попытка получить перевод для следующей, и так далее. Например, пользователь из Австралии может предпочесть британский вариант перевода американскому:

LC_TIME: формат даты и времени

Например, если переменная LC_TIME имеет значение en_US.UTF-8 , будет использован формат даты ММ/ДД/ГГГГ . Если вы хотите использовать формат ISO 8601 ( ГГГГ-ММ-ДД ), установите:

Читайте также:  Acer e1 510 не могу установить windows

LC_COLLATE: порядок сортировки

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

Установка значения LC_COLLATE=C , например, приведет к тому, что команда ls будет располагать файлы, имена которых начинаются с точки, первыми, за ними последуют имена, начинающиеся с цифры, затем с заглавной и, наконец, со строчной буквы:

Чтобы избежать возможных проблем, в Arch переменная установлена как LC_COLLATE=C в /etc/profile , однако этот метод сейчас устарел.

LC_ALL: решение проблем

Переменная LC_ALL переопределяет своим значением все LC_* -переменные, включая LANG , независимо от того, установлены они или нет.

Переменная LC_ALL — единственная из всех LC_ -переменных, которую нельзя установить в /etc/locale.conf : она предназначена только в целях проверки при решении проблем.

Советы и рекомендации

Запуск приложения с другой локалью в терминале

Например, чтобы запустить программу abiword на иврите:

Запуск приложения с другой локалью из меню

Скопируйте файл .desktop в домашний каталог пользователя:

И отредактируйте команду в опции Exec :

Решение проблем

Эмулятор терминала не поддерживает UTF-8

Небольшой список терминалов с поддержкой UTF-8:

  • gnustep-terminal
  • konsole
  • mlterm
  • rxvt-unicode (Русский)
  • st
  • эмуляторы на основе VTE
  • xterm — необходимо запускать с опцией -u8 или с настройкой xterm*utf8: 2 . Также вы можете запускать uxterm, который предоставляется пакетом xterm .

gnome-terminal или rxvt-unicode не поддерживают UTF-8

Чтобы заработала поддержка UTF-8 в этих приложениях, необходимо запускать их с локалью, в которой установлена кодировка UTF-8, например ru_RU.UTF-8 . Включите эту локаль в системе, установите ее как системную локаль по умолчанию в соответствиями с инструкциями в предыдущих разделах и перезагрузите компьютер.

Моя система использует неверный язык

Возможно, некоторые переменные окружения из locale.conf были переопределены каким-то другим файлом, например

/.pam_environment , который используется в GNOME. Подробнее смотрите на странице Переменные окружения#Установка переменных.

Если вы используете окружение рабочего стола, такое как GNOME, его настройки могут перекрывать locale.conf .

KDE Plasma также позволяет изменить язык интерфейса через свои настройки. Если он всё равно использует язык по умолчанию после изменения, удаление файла

/.config/plasma-locale-settings.sh ) должно помочь.

Если вы используете экранный менеджер вместе с accountsservice , смотрите Display manager (Русский)#Установка языка.

LightDM автоматически использует accountsservice для выбора локали, если он установлен. В противном случае LightDM читает настройки сеанса из

/.dmrc . Возможно, что нежелательные настройки локали прочитались оттуда.

Источник

Настройка русской локали в Linux

Чтобы изменить установленную по умолчанию локализацию в системе на русскую, необходимо выполнить несколько не сложных шагов.

Подготовка к настройке

  • Подключаемся к VPS по SSH с правами root.
  • Проверяем, доступна ли русская локаль в системе и её корректное название:
  • В результате, при наличии локали, будет получен примерно следующий вывод:
  • В нашем случае, интересует вариант ru_RU.utf8. Его мы и будем использовать далее. Поэтому скопируйте это значение в блокнот для дальнейшей вставки.

Настройка локали в CentOS, Fedora

  • Создадим файл i18n, в котором затем сохраним параметры новой локали:
  • В открывшемся редакторе вносим следующую информацию:
  • Сохраняем изменения сочетанием клавиш CTRL+O и затем Enter.
  • На этом всё, локаль изменена и теперь необходимо переподключиться в консоль, чтобы увидеть изменения. Если вы использовали VNC или другое удаленное подключение к рабочему столу, то рекомендуется и в нём произвести переподключение для применения изменений.
Читайте также:  Linux add include path

Настройка локали в Debian, Ubuntu

Если в шаге подготовки команда locale -a | grep ru дала пустой результат, значит русская локаль отсутствует в системе и её можно установить следующими способами:

Способ 1:

  • Перенастраиваем пакет locales командой:
  • В появившейся форме ищем локаль ru_RU.UTF-8 и отмечаем её нажатием пробелом, в результате перед этой локалью появится звёздочка, как показано на изображении ниже. Затем нажимаем Enter и переходим к следующему шагу.
  • Следующий шаг – выбор локали по умолчанию. Выбераем русскую локаль из списка и нажмаем Enter.
  • В результате будет завершена перенастройка локали и теперь необходимо только выполнить повторное подключение к консоли и к удаленному рабочему столу (если таковое используется).

Способ 2:

  • Устанавливаем языковой пакет:
  • Открываем текстовым редактором файл /etc/default/locale:
  • Заменяем его содержимое на:
  • Сохраняем изменения сочетанием клавиш CTRL+O и затем Enter.
  • Выходим из консоли, а также закрываем соединение с удаленным рабочим столом (если такое соединение было) и подключаемся к этим сервисам повторно.
  • На этом настройка завершена.

Источник

Как сменить locale в Debian или пишем кириллицей в консоли linux

Я знаю что кириллица в логах Linux – это самый страшный грех для айтишника, но иногда это просто необходимость. Одна из таких необходимостей возникает при создании централизованного хранения log-файлов различных операционных систем. Microsoft всегда в своих log`ах применяет кириллицу и поэтому если мы хотим получать log-файлы и от Win-серверов, то стоит смириться, что в log`ах будет кирилица.

Для того, чтобы эти логи нормально отображались нам и нужно явно указать locale в Debian, Ubuntu или какой Linux-дистрибутив Вы используете.

Проблемы отображения кириллических символов в Linux не существует. Есть проблема у русской версии Windows. Весь мир и Linux в том числе, работает в кодировке UTF -8, когда русская версия Microsoft использует CP1251. Такая ситуация сложилось исторически благодаря компании «Парус», которая взяла на себя обязательства по локализации всех операционных систем Windows. Выбрали они почему-то кодировку CP1251, которая применяется до сих пор. Использование этой «неправильной» кодировки в наши дни обусловлено сохранением совместимости всех версий ОС.

Чтобы добавить кириллицу, чтобы Linux сервер нормально отображал русские буквы, нужно объяснить ему, что необходимо работать в той же кодировке, что и Windows.

Для того, чтобы управлять локалью в Linux, необходим пакет locales, который должен быть у Вас установлен. В большинстве случаев пакет locales уже будет у Вас установлен, поэтому для проформы просто проверяем этот факт.

Посмотреть установленную locale linux можно командой:

Для ручного указания кодировке в Linux Mint, Debian или ubuntu нужно отредактировать конфигурационный файл /etc/locale.gen :

Команду sudo не нужна, если Вы зашли как суперпользователь. Это относится к Linux Mint и Ubuntu, так как Debian ничего не знает о команде sudo.

В этом файле необходимо найти строчку и расскомментировать с той locale, которая Вам нужна. Для добавления кириллицы нужно раскомментировать строчки с UTF-8 или CP1251 .

  • если хотим указать, чтобы ОС работала в UTF -8, раскомментирум:
  • если хотим указать, чтобы ОС работала в CP1251, раскомментирум:

Стоит обратить внимание, что первые 2 символа (в нашем примере это ru) говорят нам о языке локализации (кириллица).

После этого переопределяем настройки locales командой:

Команда locale-gen позволяет запустить скрипт /etc/locale.gen и перечитывает все кодировки для консоли.

Чтобы увидеть кириллицу в консоли Linux, остается только перелогиниться.

Источник

Оцените статью