- Как сменить locale в Debian или пишем кириллицей в консоли linux
- Expert Users
- Посмотреть текущую локаль
- Установленные локали
- Установить новую локаль
- Изменить локаль временно
- Изменить локаль постоянно, для пользователя
- Изменить локаль постоянно, для всей системы
- Изменить, добавить locale в Linux
- 1. Посмотреть текущую locale
- 2. Добавить \ установить новую locale
- Локализация Ubuntu Server 18.04 LTS
- Текущие настройки языка
- Список доступных локалей
- Добавить новую локаль
- Подробная информация о локалях
- Локаль по-умолчанию
- Быстрая локализация
- Удалить лишние локали
- Переводы для системных программ
- Локализация для текущей сессии
- Файлы конфигурации шрифта и клавиатуры
- Настройка шрифта и клавиатуры
- Настройка русской локали в Linux
- Подготовка к настройке
- Настройка локали в CentOS, Fedora
- Настройка локали в Debian, Ubuntu
Как сменить 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, остается только перелогиниться.
Источник
Expert Users
Locale позволяет программам отображать инфорацию согласно вашему языку или стране. Например, при установке Ubuntu нужно выбрать географическое положение на карте, согласно которому и установится локаль по умолчанию. Но иногда бывает нужно сменить локаль, либо установить новую. О чем и пойдет речь ниже.
Посмотреть текущую локаль
Чтобы вывести все переменные окружения текущей локали, откройте терминал и введите команду:
При этом локаль задается в формате _ . , например, русская локаль с UTF-8 кодировкой задается как ru_RU.UTF-8.
Установленные локали
Для того, чтобы просмотреть все доступные локали, установленные в системе, введите команду:
Установить новую локаль
Если вы не нашли нужную локаль в списке установленных, то вы можете поискать ее в списке поддерживаемых локалей, в файле:
Нужную локаль можно установить с помощью команды locale-gen:
После того, как вы установили локаль, она должна появиться в списке установленных:
Изменить локаль временно
Чтобы изменить локаль или переменную локализации временно (она будет активна только во время текущей сессии), введите имя переменной, знак равно и новое значение. Например, изменим переменную окружения LC_TIME, задающую формат времени и даты:
Изменить локаль постоянно, для пользователя
Если вы хотите, чтобы локаль устанавливалась для определенного пользователя при каждом входе в систему, вы можете настроить это в файле
/.bashrc. Для этого откройте файл
/.bashrc и добавьте внизу одну строчку, например, чтобы задать переменную LANG:
Изменения вступят в силу при следующем входе в систему.
Изменить локаль постоянно, для всей системы
Если вы хотите изменить системную локаль, то просто откройте файл и измените нужные переменные локализации:
Изменения вступят в силу после перезагрузки.
Как все это работает, вы можете посмотреть в данном видео:
Источник
Изменить, добавить 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
Источник
Локализация Ubuntu Server 18.04 LTS
Локаль (locale или локализация) в Linux определяет, какой язык и какой набор символов (кодировку), пользователь видит в терминале. Посмотрим, как проверить текущие настройки языка и кодировки, как получить список всех доступных локалей, как сменить язык и кодировку для текущей сессии или установить их постоянно.
Для тех, кому лень читать всю статью до конца — чаще всего для локализации консоли достаточно повторно сконфигурировать пакет locales :
Сначала будут созданы нужные локали (их выбрать на первом экране), потом установлена локаль по умолчанию (ее выбрать на втором экране).
Текущие настройки языка
Посмотрим информацию о текущем языковом окружении:
Список доступных локалей
Теперь посмотрим список всех установленных языков и кодировок:
Есть только системная локаль C.UTF-8 , которая присутствует всегда. А нам надо добавить еще две локали — en_US.UTF-8 и ru_RU.UTF-8 .
Добавить новую локаль
Смотрим список всех поддерживаемых (доступных для установки) локалей:
Устанавливаем нужные локали — en_US.UTF-8 и ru_RU.UTF-8 :
Второй способ установить локали — расскомментровать нужные строки в файле /etc/locale.gen
И просто выполнить команду locale-gen без указания локалей:
Подробная информация о локалях
Более подробную информацию об установленных в системе локалях можно посмотреть так:
Часть локалей размещена в архиве /usr/lib/locale/locale-archive , а часть — в директориях внутри /usr/lib/locale/ .
Локаль по-умолчанию
Хорошо, нужные локали у нас теперь есть, осталось только задать локаль по умолчанию:
Эта команда запишет в файл /etc/default/locale строку:
После этого надо будет перезайти в систему. И проверяем информацию о языковом окружении:
Теперь все правильно, так что запишем эту информацию в файл /etc/default/locale :
Быстрая локализация
До сих пор мы все делали ручками, но если лень — можно просто повторно сконфигурировать пакет locales . Сначала будут созданы нужные локали (их нужно выбрать на первом экране), потом установлена локаль по умолчанию (ее нужно выбрать на втором экране).
Удалить лишние локали
После установки (генерации) локали, она помещается в архив /usr/lib/locale/locale-archive . Файл архива — это файл, отображаемый в память, который содержит все локали системы; он используется всеми локализованными программами. Посмотреть список локалей в архиве можно с помощью команды:
Удалить заданную локаль из файла архива:
Обратите внимание на название локали — ru_UA.utf8 , а не ru_UA.UTF-8 . Если неправильно указать локаль — она не будет удалена из архива:
В случае, если утилита locale-gen была вызвана с опцией —no-archive , надо удалить соответствующую директорию в /usr/lib/locale :
Переводы для системных программ
Локализация для основных системных программ, чтобы получать сообщения на русском языке:
Локализация для текущей сессии
Достаточно временно установить переменную окружения LANG в текущей сессии терминала:
Или даже так — передать переменную LANG конкретной программе:
Файлы конфигурации шрифта и клавиатуры
Настройки можно найти в файлах конфигурации /etc/default/console-setup и /etc/default/keyboard :
Это системные настройки, пользователь может создать свои в файлах
Настройка шрифта и клавиатуры
Чтобы сформировать файлы конфигурации /etc/default/console-setup и /etc/default/keyboard можно использовать команды:
После того, как файлы конфигурации будут сформированы, нужно выполнить команду setupcon без аргументов или перезагрузить систему.
Источник
Настройка русской локали в Linux
Чтобы изменить установленную по умолчанию локализацию в системе на русскую, необходимо выполнить несколько не сложных шагов.
Подготовка к настройке
- Подключаемся к VPS по SSH с правами root.
- Проверяем, доступна ли русская локаль в системе и её корректное название:
- В результате, при наличии локали, будет получен примерно следующий вывод:
- В нашем случае, интересует вариант ru_RU.utf8. Его мы и будем использовать далее. Поэтому скопируйте это значение в блокнот для дальнейшей вставки.
Настройка локали в CentOS, Fedora
- Создадим файл i18n, в котором затем сохраним параметры новой локали:
- В открывшемся редакторе вносим следующую информацию:
- Сохраняем изменения сочетанием клавиш CTRL+O и затем Enter.
- На этом всё, локаль изменена и теперь необходимо переподключиться в консоль, чтобы увидеть изменения. Если вы использовали VNC или другое удаленное подключение к рабочему столу, то рекомендуется и в нём произвести переподключение для применения изменений.
Настройка локали в Debian, Ubuntu
Если в шаге подготовки команда locale -a | grep ru дала пустой результат, значит русская локаль отсутствует в системе и её можно установить следующими способами:
Способ 1:
- Перенастраиваем пакет locales командой:
- В появившейся форме ищем локаль ru_RU.UTF-8 и отмечаем её нажатием пробелом, в результате перед этой локалью появится звёздочка, как показано на изображении ниже. Затем нажимаем Enter и переходим к следующему шагу.
- Следующий шаг – выбор локали по умолчанию. Выбераем русскую локаль из списка и нажмаем Enter.
- В результате будет завершена перенастройка локали и теперь необходимо только выполнить повторное подключение к консоли и к удаленному рабочему столу (если таковое используется).
Способ 2:
- Устанавливаем языковой пакет:
- Открываем текстовым редактором файл /etc/default/locale:
- Заменяем его содержимое на:
- Сохраняем изменения сочетанием клавиш CTRL+O и затем Enter.
- Выходим из консоли, а также закрываем соединение с удаленным рабочим столом (если такое соединение было) и подключаемся к этим сервисам повторно.
- На этом настройка завершена.
Источник