кодировка linux по умолчанию

Локализация Ubuntu Server 18.04 LTS

Локаль (locale или локализация) в Linux определяет, какой язык и какой набор символов (кодировку), пользователь видит в терминале. Посмотрим, как проверить текущие настройки языка и кодировки, как получить список всех доступных локалей, как сменить язык и кодировку для текущей сессии или установить их постоянно.

Для тех, кому лень читать всю статью до конца — чаще всего для локализации консоли достаточно повторно сконфигурировать пакет locales :

Сначала будут созданы нужные локали (их выбрать на первом экране), потом установлена локаль по умолчанию (ее выбрать на втором экране).

Текущие настройки языка

Посмотрим информацию о текущем языковом окружении:

Список доступных локалей

Теперь посмотрим список всех установленных языков и кодировок:

Добавить новую локаль

Смотрим список всех поддерживаемых (доступных для установки) локалей:

Устанавливаем нужные локали — en_US.UTF-8 и ru_RU.UTF-8 :

Второй способ установить локали — расскомментровать нужные строки в файле /etc/locale.gen

И просто выполнить команду locale-gen без указания локалей:

Подробная информация о локалях

Более подробную информацию об установленных в системе локалях можно посмотреть так:

Локаль по-умолчанию

Хорошо, нужные локали у нас теперь есть, осталось только задать локаль по умолчанию:

Эта команда запишет в файл /etc/default/locale строку:

После этого надо будет перезайти в систему. И проверяем информацию о языковом окружении:

Теперь все правильно, так что запишем эту информацию в файл /etc/default/locale :

Быстрая локализация

кодировка linux по умолчанию

кодировка linux по умолчанию

Удалить лишние локали

Удалить заданную локаль из файла архива:

Переводы для системных программ

Локализация для основных системных программ, чтобы получать сообщения на русском языке:

Локализация для текущей сессии

Достаточно временно установить переменную окружения LANG в текущей сессии терминала:

Или даже так — передать переменную LANG конкретной программе:

Файлы конфигурации шрифта и клавиатуры

Настройки можно найти в файлах конфигурации /etc/default/console-setup и /etc/default/keyboard :

Это системные настройки, пользователь может создать свои в файлах

Настройка шрифта и клавиатуры

Чтобы сформировать файлы конфигурации /etc/default/console-setup и /etc/default/keyboard можно использовать команды:

кодировка linux по умолчанию

кодировка linux по умолчанию

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

Источник

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

кодировка linux по умолчанию

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

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

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

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

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

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

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

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

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

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

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

Комментарии

Попробую применить ваши методы, не знаю, что из этого выйдет, но просмотрим.

Источник

Какие кодировки терминала используются в Linux по умолчанию, а какие наиболее распространены?

кодировка linux по умолчанию

Мне нужно принять решение о том, должна ли сложная коммерческая программа, над которой я работаю, использовать определенную кодировку терминала для Linux или вместо этого читать ее с терминала (и если да, то как).

Но мне непонятно, как большинство пользователей настраивают свои системные и терминальные кодировки в Linux. Сообразительные, которым часто нужно использовать символы, отличные от ASCII, вероятно, используют кодировку UTF-8. Но какая доля пользователей Linux попадает в эту категорию?

Также не ясно, какой метод большинство пользователей используют для настройки своей локали: изменение переменной среды LANG или что-то еще.

Связанный с этим вопрос будет заключаться в том, как Linux настраивает их по умолчанию. Моя собственная Linux-машина на работе (на самом деле виртуальная машина Debian 5, которая работает через VMWare Player на моей машине с Windows) по умолчанию настроена на использование терминальной кодировки US-ASCII. Однако я не уверен, было ли это настроено администраторами на моем рабочем месте или это стандартная настройка.

Пожалуйста, поймите, что я не ищу ответы на вопрос «Какую кодировку вы используете лично?» а скорее некоторые средства, с помощью которых я мог бы выяснить распределение кодировок, которые, вероятно, будут использовать пользователи Linux.

Самой старой кодировкой символов, используемой в консолях, таких как VT52, была ASCII.

Затем наиболее общим списком мировых символов является Unicode, который в Linux обычно кодируется в UTF-8.

Это та кодировка, которая наиболее распространена для современных терминалов и программ в Linux.

От более общих к частным настройкам:

Операционные системы

По умолчанию в debian, начиная с Etch on Apr 8th 2007 (13 лет назад) был utf-8.

Примечание. При новой установке Debian / Etch по умолчанию включен UTF8.

И подтверждено в примечаниях к выпуску:

Это означает, что Debian (и Ubuntu, Mint и многие другие) являются utf-8 способный по умолчанию.

регион

Какую кодировку (и страну) на самом деле выбирает пользователь с помощью команды dpkg-reconfigure locales оставлено на усмотрение пользователя.

Это настраивает конкретную настройку для компьютера locale команда.

Все LC_* «переменные среды» оказывают определенное влияние на каждый из разделов (частей) страны / языка, как определено в спецификации POSIX.

Кодировку для конкретного терминала (tty) можно найти, если установить значение utf8 с помощью:

Терминал

Но terminal (Окно графического интерфейса пользователя), внутри которого (обычно) работает tty-терминал, также имеет свой собственный языковой стандарт. Если настройки вменяемые, возможно:

Будет правильный ответ.

Но это всего лишь быстрый и поверхностный взгляд на все настройки i18n linux / unix.

Вывод: вероятно, если Linux использует utf8, ваш лучший выбор.

Я бы использовал аналогичную эвристику, которую вы используете с пользователями Windows, но через переменную среды LANG. Например, в моей системе:

Здесь код говорит, что я использую английский язык, но с кодировкой UTF-8 имен файлов и файлов.

Как правило, пользователи Linux, использующие UTF-8, будут иметь «UTF-8» в конце своей переменной среды LANG.

Для достаточно современных систем Linux / Unix вам не нужно беспокоиться о кодировке терминала. Просто используйте getwchar или же fgetws читать из stdin (или терминал). [Примечание 1]

В виде man getwchar говорит, в Notes раздел:

Разумно ожидать, что getwchar () на самом деле прочитает многобайтовую последовательность из стандартного ввода, а затем преобразует ее в широкий символ.

В Linux также разумно ожидать кодирования wchar_t быть Unicode, независимо от языкового стандарта. В C99 стандарт позволяет реализации определять макрос __STDC_ISO_10646__ чтобы указать, что wchar_t значения соответствуют кодовым точкам Unicode [Примечание 2], поэтому вы можете вставить проверку во время компиляции для этого ожидания, которая должна быть успешной в современных установках Linux со стандартными наборами инструментов. Вероятно, он будет успешным и в современных системах Unix, хотя нет никаких гарантий.

Ноты:

[2] Ценность __STDC_ISO_10646__ это дата (в формате yyyymmL ), соответствующий дате применимой версии стандарта Unicode. Точная формулировка стандарта (проекта):

Следующие имена макросов условно определены реализацией:

Источник

Как поменять язык Linux без переустановки системы

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

кодировка linux по умолчанию

Чтобы посмотреть доступные языковые настройки (локали), воспользуйтесь командой

кодировка linux по умолчанию

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

Чтобы добавить новую локаль, откройте файл /etc/locale.gen:

кодировка linux по умолчанию

И раскомментируйте там строки с желаемыми новыми локалями. Затем выполните команду:

кодировка linux по умолчанию

Теперь новые языковые настройки (новую локаль) вы можете видеть в списке доступных локалей.

кодировка linux по умолчанию

Смена локали для текущий сессии

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

Если в вашей системе это не сработало, то замените переменную LANG на переменную LANGUAGE, например:

Изменение языковых настроек насовсем для одного пользователя

Добавьте строку с экспортом желаемой локали (например, export LANG=en_US.utf-8) в файл

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

Изменение системной локали по умолчанию

Есть два альтернативных метода смены локали.

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Настройка языка и региональных стандартов в Ubuntu Server/Debian

кодировка linux по умолчаниюВ наших материалах тема региональных настроек Linux-систем ранее почти не поднималась. Подразумевалось, что система устанавливается читателями самостоятельно и все эти вопросы уже решены на стадии установки. Но бывают ситуации, когда нужно работать с уже готовой системой, например, VPS у зарубежного провайдера или в облачных системах типа Amazon или Azure. В этом случае появляется необходимость настроить систему для использования родного языка и привычных региональных настроек.

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

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

кодировка linux по умолчаниюПри этом сам скрипт, в данном случае CMS, функционирует нормально и при скачивании с сайта файлы имеют нормальные имена на кириллице, но с ними практически невозможно работать на сервере, так как непонятно, что это за файлы (вместо имен кубики), и нет возможности скачать их на Windows-систему. Переименовать файлы также нет возможности, так как сразу получим массу битых ссылок по всему сайту.

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

Debian

Для правильного отображения символов национальных алфавитов в определенной кодировке в Linux-системах предназначены локали (locales), узнать какие локали уже установлены в системе можно командой:

Обычно установлена и используется английская локаль en_US.utf8, однако, если вы, например, приобрели VPS в Германии, может присутствовать только национальная локаль, в этом случае, кроме русской, также рекомендуется установить английскую локаль.

кодировка linux по умолчаниюДля генерации и настройки локалей используйте команду:

Откроется псевдографическая утилита, которая предложит выбрать используемые локали, добавляем ru_RU.utf8

кодировка linux по умолчаниюЗатем укажите используемую по умолчанию локаль, тем самым установив язык системы:

кодировка linux по умолчаниюБольшинство «инструкций» в интернете на этом заканчиваются, но установить локаль недостаточно, нужно еще настроить консоль, т.е. ту среду ввода-вывода с которой вы взаимодействуете. Иначе вы увидите примерно такую картину:

кодировка linux по умолчаниюДля настройки консоли запустите следующую утилиту:

Прежде всего зададим кодировку консоли, в современном Linux это UTF-8.

кодировка linux по умолчаниюЗатем используемые наборы символов, нам нужен комбинированный набор Latin; Slavic Cyrillic; Greek.

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

кодировка linux по умолчаниюНиже, чтобы облегчить вам выбор, представлены образцы шрифтов:

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

Следующим шагом следует настроить клавиатуру:

Выбираем тип клавиатуры, по умолчанию это 105-клавишная международная, менять эту настройку без особой необходимости не следует.

кодировка linux по умолчаниюТак как система изначально была установлена с локалью en_US, то нам предлагаются американские раскладки, выбираем Другая.

кодировка linux по умолчаниюЗатем выбираем сочетание клавиш для переключения раскладок и отвечаем еще на ряд вопросов, отвечать на который можете по своему усмотрению. Советуем не спешить, там есть интересные возможности, например, клавиша временного переключения между раскладками:

И устанавливаем текущий часовой пояс, после чего система автоматически переведет часы.

Ubuntu Server

В Ubuntu Server команда dpkg-reconfigure locales не имеет псевдографического интерфейса и при запуске настраивает уже сгенерированные локали. Поэтому придется нужные настройки выполнить вручную, прежде всего сгенерируем русскую локаль (здесь и далее обращаем внимание на регистр команд):

Затем зададим локаль по умолчанию:

После чего выполним их настройку:

кодировка linux по умолчаниюСледующим шагом будет настройка консоли:

Здесь все настройки аналогичны Debian, выбираем кодировку, набор символов и настраиваем шрифты.

кодировка linux по умолчанию

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

Мы не будем подробно останавливаться на настройках, так как работа этой утилиты подробно описана выше, в разделе о Debian.

кодировка linux по умолчаниюВременные зоны также настраиваются аналогично командой:

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

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

кодировка linux по умолчанию

Или подпишись на наш Телеграм-канал: кодировка linux по умолчанию

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *