Linux поменять язык терминал

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

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

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

$ sudo dpkg-reconfigure locales

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

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

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

$ locale LANG=C.UTF-8 LANGUAGE= LC_CTYPE="C.UTF-8" LC_NUMERIC="C.UTF-8" LC_TIME="C.UTF-8" LC_COLLATE="C.UTF-8" LC_MONETARY="C.UTF-8" LC_MESSAGES="C.UTF-8" LC_PAPER="C.UTF-8" LC_NAME="C.UTF-8" LC_ADDRESS="C.UTF-8" LC_TELEPHONE="C.UTF-8" LC_MEASUREMENT="C.UTF-8" LC_IDENTIFICATION="C.UTF-8" LC_ALL=

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

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

Есть только системная локаль C.UTF-8 , которая присутствует всегда. А нам надо добавить еще две локали — en_US.UTF-8 и ru_RU.UTF-8 .

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

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

# This file lists locales that you wish to have built. You can find a list # of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add # user defined locales to /usr/local/share/i18n/SUPPORTED. If you change # this file, you need to rerun locale-gen. # aa_DJ ISO-8859-1 # aa_DJ.UTF-8 UTF-8 # . # en_US.ISO-8859-15 ISO-8859-15 # en_US.UTF-8 UTF-8 # en_ZA ISO-8859-1 # . # ru_RU.KOI8-R KOI8-R # ru_RU.UTF-8 UTF-8 # ru_UA KOI8-U # . # zu_ZA ISO-8859-1 # zu_ZA.UTF-8 UTF-8

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

$ sudo locale-gen en_US.UTF-8 ru_RU.UTF-8 Generating locales (this might take a while). en_US.UTF-8. done ru_RU.UTF-8. done Generation complete.

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

# This file lists locales that you wish to have built. You can find a list # of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add # user defined locales to /usr/local/share/i18n/SUPPORTED. If you change # this file, you need to rerun locale-gen. # aa_DJ ISO-8859-1 # aa_DJ.UTF-8 UTF-8 # . # en_US.ISO-8859-15 ISO-8859-15 en_US.UTF-8 UTF-8 # en_ZA ISO-8859-1 # . # ru_RU.KOI8-R KOI8-R ru_RU.UTF-8 UTF-8 # ru_UA KOI8-U # . # zu_ZA ISO-8859-1 # zu_ZA.UTF-8 UTF-8

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

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

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

$ 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 | http://www.gnu.org/software/libc/ email | bug-glibc-locales@gnu.org language | American English territory | United States 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 locale: ru_UA.utf8 archive: /usr/lib/locale/locale-archive ------------------------------------------------------------------------------- title | Russian locale for Ukraine source | RFC 2319 email | bug-glibc-locales@gnu.org language | Russian territory | Ukraine revision | 1.0 date | 2000-06-29 codeset | UTF-8 locale: C.UTF-8 directory: /usr/lib/locale/C.UTF-8 ------------------------------------------------------------------------------- title | C locale email | aurel32@debian.org language | C revision | 1.6 date | 2016-08-08 codeset | UTF-8

Часть локалей размещена в архиве /usr/lib/locale/locale-archive , а часть — в директориях внутри /usr/lib/locale/ .

Читайте также:  Linux suse командная строка

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

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

$ sudo update-locale LANG=ru_RU.UTF-8

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

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

$ locale LANG=ru_RU.UTF-8 LANGUAGE= LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC="ru_RU.UTF-8" LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL=

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

$ locale | sudo tee /etc/default/locale
LANG=ru_RU.UTF-8 LANGUAGE= LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC="ru_RU.UTF-8" LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL=

Переменная окружения LANG — это локаль по умолчанию. Локаль, установленная в этой переменной, используется в качестве значения для всех остальных переменных LC_XXXXX , которые не установлены явно. Переменная окружения LC_ALL переопределяет своим значением все переменные LC_XXXXX , включая LANG — независимо от того, установлены они или нет.

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

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

$ sudo dpkg-reconfigure locales

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

После установки (генерации) локали, она помещается в архив /usr/lib/locale/locale-archive . Файл архива — это файл, отображаемый в память, который содержит все локали системы; он используется всеми локализованными программами. Посмотреть список локалей в архиве можно с помощью команды:

$ localedef --list-archive en_US.utf8 ru_RU.utf8 ru_UA.utf8

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

$ sudo localedef --delete-from-archive ru_UA.utf8

Обратите внимание на название локали — ru_UA.utf8 , а не ru_UA.UTF-8 . Если неправильно указать локаль — она не будет удалена из архива:

$ sudo localedef --delete-from-archive ru_UA.UTF-8 locale "ru_UA.UTF-8" not in archive

В случае, если утилита locale-gen была вызвана с опцией —no-archive , надо удалить соответствующую директорию в /usr/lib/locale :

$ cd /usr/lib/locale $ ls C.UTF-8 en_US.utf8 ru_RU.utf8 ru_UA.utf8 $ sudo rm -r ru_UA.utf8

Есть еще один способ удалить лишние локали — закомментровать в файле /etc/locale.gen строки локалей, которые больше не нужны — и запустить locale-gen без параметров.

Читайте также:  Linux посмотреть размер свободного места

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

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

$ sudo apt install language-pack-ru

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

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

$ export LANG=en_US.UTF-8 $ cat /etc/shadow cat: /etc/shadow: Permission denied
$ export LANG=ru_RU.UTF-8 $ cat /etc/shadow cat: /etc/shadow: Отказано в доступе

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

$ export LANG=en_US.UTF-8 $ cat /etc/shadow cat: /etc/shadow: Permission denied $ LANG=ru_RU.UTF-8 cat /etc/shadow cat: /etc/shadow: Отказано в доступе

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

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

$ cat /etc/default/console-setup
# Consult the console-setup(5) manual page. ACTIVE_CONSOLES="/dev/tty1" CHARMAP="UTF-8" CODESET="CyrSlav" FONTFACE="Fixed" FONTSIZE="8x16" VIDEOMODE=
# Consult the keyboard(5) manual page. XKBMODEL="pc105" XKBLAYOUT="us,ru" XKBVARIANT="," XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll" BACKSPACE="guess"

Это системные настройки, пользователь может создать свои в файлах ~/.console-setup и ~/.keyboard .

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

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

$ sudo dpkg-reconfigure console-setup

$ sudo dpkg-reconfigure keyboard-configuration

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

Console-cyrillic — это пакет для руссификации консоли (поддержки кириллицы в терминале), старый и известный пакет. Но в новых версиях операционных систем с системой инициализации systemd он считается устаревшим, поскольку у systemd есть нативные средства локализации консоли и наличие console-cyrillic там не только не требуется, но и не рекомендуется.

Команда localectl предоставляет возможности для централизованного управления языковыми и региональными параметрами.

$ localectl --help localectl [OPTIONS. ] COMMAND . Query or change system locale and keyboard settings. Commands: status Show current locale settings set-locale LOCALE. Set system locale list-locales Show known locales set-keymap MAP [MAP] Set console and X11 keyboard mappings list-keymaps Show known virtual console keyboard mappings set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]] Set X11 and console keyboard mappings list-x11-keymap-models Show known X11 keyboard mapping models list-x11-keymap-layouts Show known X11 keyboard mapping layouts list-x11-keymap-variants [LAYOUT] Show known X11 keyboard mapping variants list-x11-keymap-options Show known X11 keyboard mapping options Options: -h --help Show this help --version Show package version --no-pager Do not pipe output into a pager --no-ask-password Do not prompt for password -H --host=[USER@]HOST Operate on remote host -M --machine=CONTAINER Operate on local container --no-convert Don't convert keyboard mappings See the localectl(1) man page for details.
$ localectl status System Locale: LANG=ru_RU.UTF-8 VC Keymap: n/a X11 Layout: us,ru X11 Model: pc105 X11 Variant: , X11 Options: grp:alt_shift_toggle
$ localectl list-locales C.UTF-8 en_US.UTF-8 ru_RU.UTF-8 ru_UA.UTF-8

Источник

Читайте также:  Блендер линукс 32 бит

Русификация консоли Ubuntu / Debian / Linux

linux-logo

Сегодня в статье рассмотрим пример по русификации консоль в Ubuntu Server. Справедливо и для всех Debian подобных систем.

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

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

Для этого подключаемся к серверу по ssh.

Русифицируем консоль Ubuntu Server

Первым делом обновляем нашу систему:

sudo apt update && apt dist-upgrade -y

Далее установим русский пакет language-pack :

sudo apt install language-pack-ru -y
sudo dpkg-reconfigure locales

Отмечаем, чтобы была сгенерирована ru_RU.UTF8

Русифицируем Ubuntu Serverr

Выбираем локалью по умолчанию ru_RU.UTF-8

Русифицируем Ubuntu Server locale

Проверим что локаль по умолчанию изменилась:

Команда должна выдать что то, вроде этого:

# File generated by update-locale LANG="ru_RU.UTF-8"

Добавим русскую раскладку клавиатуры:

sudo dpkg-reconfigure keyboard-configuration

Выбираем стандартную 105 кнопочную клавиатуру

Русифицируем Ubuntu Server reconfigure-keyboard

Далее выбираем страну – Россия

Русифицируем Ubuntu Server reconfigure-keyboard-2

В следующем окне выбирем русскую раскладку для клавиатуры.

Русифицируем Ubuntu Server reconfigure-keyboard-3

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

Русифицируем Ubuntu Server reconfigure-keyboard-4

Русифицируем Ubuntu Server reconfigure-keyboard-5

Остальные параметры оставляем по умолчанию.

Русифицируем Ubuntu Server reconfigure-keyboard-6

Русифицируем Ubuntu Server reconfigure-keyboard-7

reconfigure-keyboard-8

reconfigure-keyboard-9

Изменим настройки консоли, чтобы поддерживались русские шрифты:

dpkg-reconfigure console-setup

Русифицируем Ubuntu Server reconfigure-console

Даем системе выбирать какой набор шрифтов использовать

Русифицируем Ubuntu Server reconfigure-console-2

Остальные параметры оставляем по умолчанию.

Русифицируем Ubuntu Server reconfigure-console-3

Русифицируем Ubuntu Server reconfigure-console-4

Русифицируем Ubuntu Server reconfigure-console-5

Включим framebuffer , если этого не сделать, то за место русских букв будут кракозябры:

echo 'FRAMEBUFFER=Y' >> /etc/initramfs-tools/initramfs.conf update-initramfs -u

Также установим еще один пакет:

sudo apt install console-cyrillic -y

Вот и все в сегодняшней статье научились Русифицировать Ubuntu / Debian, также данные правила будут справедливы и к другим Debian подобным дистрибутивам.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.

RSS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

linux-logo

Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским

dns_bind9

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата

linux-logo

В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать

В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать

Источник

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