Как сменить locale в Debian или пишем кириллицей в консоли 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, остается только перелогиниться.
Комментарии
Попробую применить ваши методы, не знаю, что из этого выйдет, но просмотрим.
Поддержка русского языка в консоли
Содержание
В 15.10 изменена система загрузки (sustemd) и описанное ниже средство не помогает. Смотрите раздел Решение для ubuntu 15.10 и более поздних.
Почему в консоли квадратики вместо русских букв?
Но все-таки нет такого решения, которого не найти в Интернете. Причем нашел я его даже по русски 2)
Как же правильно лечить больного?
Оказывается, всего навсего, нужно включить поддержку фреймбуфера на этапе инициализации ядра. Это в свою очередь разрешит выполнение нужных скриптов, которые загрузят фонты на самом раннем этапе инициализации ядра.
Для этого:
1. в любом текстовом редакторе с правами рута нужно в файл /etc/initramfs-tools/initramfs.conf добавить строчку FRAMEBUFFER=Y. Это также можно сделать выполнив следующие команды:
2. Обновить образ рамдиска периода инициализации ядра (initrd):
Поле этих манипуляций наконец начнут работать настройки сделанные командой 3) :
Возможно потребуется так же настроить и клавиатуру (раскладки, переключение раскладок и compose-key) 4) :
Покопавшись глубже можно обнаружить следующее:
В initrd/scripts/init-top/ лежат скрипты выполняющиеся в самом начале процесса инициализации ядра. И там мы видим все, что могло бы потребоваться для поддержки «правильных» фонтов
Но, если заглянуть в файлы console_setup, keymap и framebuffer то в самом начале скрипта мы увидим такую строчку:
А покопавшись в скриптах инициализации можно понять, что OPTION обрабатывается так, что если значение переменной (что ей присвоено) не задано или не Y, то выполнение самого скрипта пропускается. Т.е. в нашем случае, если FRAMEBUFFER не равно Y, то ни один из скриптов, отвечающих за поддержку фонтов и раскладок клавиатуры, попросту не будут выполнятся в процессе инициализации ядра.
Но без FRAMEBUFFER не возможно загрузить шрифты с поддержкой национальных символов!
Примечательно то, что настройки раскладок клавиатуры все-таки будут применены в процессе загрузки ОС (уже после инициализации ядра). За это отвечает скрипт console-setup системы инициализации upstart, а вот консольные фонты скрипты upstart не настраивают.
Что можно увидеть в любой инструкции по повышению скорости загрузки ОС?
Решение для ubuntu 15.10 и более поздних
В Ubuntu 15.10 имеется неисправленный баг с настройкой локали https://bugs.launchpad.net/ubuntu/+source/console-setup/+bug/1511975. Поэтому для настройки русского языка необходимо проделать следующее 1.
(настройки в файле /etc/default/console-setup)
(настройки в файле /etc/default/keyboard)
Заменить последнюю строку
Вредные советы
Кириллица в консоли linux
Ниже я опишу способ, как «справиться» с драйвером Linux консоли. Поэтому, если вы пытаетесь русифицировать консоль в другой системе, то не ожидайте, что описанные приемы будут в ней работать. Взамен проконсультируйтесь с руководством по драйверу терминала и пошлите мне любую информацию, которую вы найдете. В этом случае я смогу включить ее в дальнейшие версии этого документа.
Для специфической информации, касающейся вашего дистрибутива, вам следует обратиться в раздел Кириллизация дистрибутивов.
Чтобы настроить консоль, вы можете воспользоваться одним из двух описанных ниже пакетов: console-tools (См. раздел consoletools) или kbd (См. раздел kbd).
Существуют две важные модификации этой схемы.
На экране это выглядит не так уж и плохо.
Установка кириллицы с помощью пакетов console-tools и kbd обычно состоит из:
Большинство дистрибутивов позволяет устанавливать кириллицу по умолчанию во время загрузки.
Файлы шрифтов обычно находятся в каталогах /usr/share/consolefonts или /usr/lib/kbd/consolefonts, таблицы ACM, SFM и fallback в /usr/share/consoletrans, клавиатурные раскладки в /usr/share/keymap/i386/qwerty.
Ниже описано, как установить русскую клавиатурную раскладку. Здесь не используется SFM и fallback таблиц, а вместо ACM используется 8-битовая экранная таблица перекодировки. Это делается в основном из-за того, что у имеющихся в kbd и console-tools шрифтов для cp866 нет таблиц SFM. Если вы хотите воспользоваться всеми возможностями консольного драйвера Linux и радоваться хорошим шрифтам, то используйте пакет console-tools-cyrillic Виктора Вагнера (См. раздел Cyrillic console tools).
Сам пакет можно найти по адресу console-tools.
После выполнения этих команд и загрузки соответствующих файлов вы можете переключать раскладку клавиатуры для ввода кириллических символов с помощью правого Control (иногда переключение по умолчанию «вешается» на Alt или Caps Lock ).
К сожалению, шрифты и клавиатурные раскладки, поставляемые вместе с этими пакетами, не позволяют воспользоваться всеми возможностями консольного драйвера. Поэтому я рекомендую вам использовать пакет console-tools-cyrillic Виктора Вагнера (См. раздел Cyrillic console tools).
Этот пакет содержит кириллические консольные шрифты и таблицы перекодировки для Linux, а также раскладки клавиатуры и прочие полезные вещи. Последнюю версию этого пакета можно обнаружить по адресу ftp://ftp.ice.ru/pub/fonts/linux/. Этот пакет активно развивается Виктором Вагнером ( vitus@ice.ru).
В пакет включена комплект для генерации клавиатуры, основанный на идеях, предложенных Кириллом Злобиным ( slobin@ice.ru). Раскладки клавиатуры получаются с помощью обработки препроцессором C ( /usr/bin/cpp ) файла кодировки и собственно файла раскладки. Использование макросов для описаний клавиш позволяет существенно полнее чем в большинстве распространенных раскладок определить комбинации Alt-клавиша, Ctrl-клавиша и т.д., как в русском, так и в латинском режимах.
Для настройки консоли я использую команды:
Для создания клавиатурной раскладки console_russian.map выполняю команду:
Это microsoft раскладка, переключение осуществляется с помощью дополнительной клавиши Windows «клавиши системного меню».
Довольно много дистрибутивов Linux устанавливают kbd как обязательную часть системы. Сам пакет доступен по адресу kbd.
Пакет kbd содержит утилиты управления клавиатурой, кроме этого, с ним поставляется широкий выбор шрифтов и раскладок.
Установка кириллицы с помощью kbd обычно состоит из:
Ниже перечислены команды, которые позволяют достичь этого эффекта.
При русификации всех консолей при загрузке системы вместо строчки
следует использовать строчку
— это русифицирует все терминалы.
Магическая последовательность необходима для перекодировки вывода символов на экран, если вы используете Alt шрифты. Она работает, и этого достаточно для спокойной жизни. Однако, если вам любопытно, то посмотрите документацию к пакету kbd.
Теперь вы, вероятно, хотите проверить правильность кириллизации консоли.
Если у вас возникли непредвиденные проблемы, то лучше всего вернуться к родной (то есть US) раскладке. Для этого выполните следующие действия:
ВНИМАНИЕ: В старых версиях Linux консольный драйвер не способен сохранить это состояние, когда передается управление X-Window. Следовательно, после того, как вы вышли из X (или переключаетесь на консоль), вы должны перезагрузить русский шрифт.
набрать вслепую, или с работающей консоли:
Переключение на downloaded font
(возможно, еще придется перегрузить шрифты, но это смотря как консоль сорвало. )
Если вывалилась какая-то программа, которая использует curses, то проще
Ubuntu. Русификация консоли в 2016 году
Для меня было некоторым откровением узнать, что в 2016 году, в одном из крупных дистрибутивов GNU/Linux существуют проблемы с локализацией. А точнее, с локализацией текстовой консоли. Кто пользуется текстовой консолью в 2016 году? Не надо забывать, что есть множество дистрибутивов, базирующихся на Ubuntu и не все из них используют графическое окружение. Назову два примера: Ubuntu Server и Clonezilla.
Выглядит проблема так:
И присутствует в текущем релизе Ubuntu 15.10 и в бета-версии Ubuntu 16.04. Тем, кому интересно узнать причины проблемы и как можно её решить — прошу под хабракат.
Лирическое вступление
Всё началось с Clonezilla. Это такой Linux Live CD/USB с программой Clonezilla для копирования дисков. Делаю, я, значит, себе загрузочную флешку с различными утилитами и, по-возможности, включаю русификацию, там где это возможно, так как хочу поделиться флешкой с коллегами, а они не все хорошо владеют английским. Только-что закончил настраивать GParted Live. Думаю, что всё должно быть похоже — оба дистрибутива поддерживают live-config. Задаю параметры для русификации — добавляю к параметрам ядра следующие значения:
locales=ru_RU.UTF-8
keyboard-layouts=us,ru
keyboard-options=grp:ctrl_shift_toggle,lctrl_shift_toggle
Первый параметр задаёт язык, на котором система будет с нами общаться и кодировку. Второй параметр задаёт раскладки клавиатур, которые мы будем использовать. И третий задаёт способ переключения раскладок клавишами CTRL+SHIFT. На самом деле, язык и раскладку можно выбрать после запуска Clonezilla, но нельзя выбрать две раскладки и способ переключения — будет только русская или только английская клавиатура. Эти параметры корректно отработали в GParted Live и я ожидаю такого же поведения от Clonezilla. Но… после загрузки вместо русских символов отображаются чёрные квадратики:
Вспоминаю, что Clonezilla предлагает две ветки дистрибутива: стабильная базируется на Debian и альтернативная на Ubuntu. Альтернативная содержит несвободное ПО, такое как прошивка (firmware) некоторого оборудования (например, WiFi-карт), поэтому, я скачал её — для большей универсальности.
Ради хохмы качаю стабильную версию, основанную на Debian, запускаю с русской локалью — всё отображается корректно.
Подозрения падают на родительский дистрибутив — Ubuntu 15.10. Как раз у меня такой, думаю я и переключаюсь на текстовую консоль (Ctrl+Alt+F1) и запускаю `date`:
На-ка, говорит Убунта.
Поворот не туда
Здравый смысл подсказывает — бери стабильную Clonezilla и работай дальше. Но. Впереди выходные, Dota 2 меня «отпустила», а память подсказывает что проблемы с локализацией текстовой консоли в Ubuntu существуют давно, решаются с переменным успехом и хочется всё-таки разобраться.
Гуглим проблему и обнаруживаем, что с подобным сталкиваются начиная с Ubuntu 11.10. Есть несколько решений разной степени полезности, самое популярное — включить опцию FRAMEBUFFER=y для initramfs и пересобрать initrd командой update-initramfs. Со словами «только бы не думать, и наша возьмет!» добавляю строку FRAMEBUFFER=y в конец файла initramfs.conf, обновляю образ initrd и перезагружаюсь:
После перезагрузки изменений нет, всё те-же квадратики вместо кириллицы. На форумах многие так же жалуются на то, что этот способ им не помог.
Начнём сначала
Откатил все изменения назад, пораскинул мозгами. За настройку консоли в Ubuntu отвечает пакет console-setup, который хранит настройки в /etc/default/console-setup и применяет их через команду setupcon. Настройки можно изменить просто отредактировав файл или через dpkg-reconfigure console-setup. Проверяем настройки консоли:
cat /etc/default/console-setup
ACTIVE_CONSOLES=»/dev/tty1″
CHARMAP=»UTF-8″
CODESET=»guess»
FONTFACE=»Fixed»
FONTSIZE=»8×16″
В текстовой консоли даём команду setupcon. Даже на глаз видно, что шрифт изменился и теперь консоль отображает кириллицу:
Значит, в системе есть всё для отображения кириллицы, но при загрузке эти настройки не применяются. Посмотрим, что находится внутри пакета console-setup:
Помимо уже упомянутых двух файлов (console-setup и setupcon) интерес представляет файл console-font.conf, устанавливаемый в /etc/init/. Этот файл представляет из себя скрипт systemd, системы начальной загрузки linux, заменившей system v init. Посмотрим на содержимое:
Судя по заголовку и описанию это похоже на то, что надо — установка шрифта консоли при загрузке системы. Задача по установке шрифта перекладывается на скрипт /lib/udev/console-setup-tty. Приведу самые интересные части этого скрипта:
Я пока пропустил все функции, которые определены внутри скрипта, чтобы обратить внимание на самое важное. Первый комментарий говорит, что скрипт основан на setupcon, но урезан, чтобы соответствовать правилу udev. Допустим. Ниже идёт включение файла настроек (. /etc/default/console-setup). Дальше идёт проверка первого параметра, переданного скрипту, как раз с таким параметром (fbcon) скрипт вызывается из /etc/init/сonsole-font.conf. Для каждой активной консоли (указаны в /etc/default/console-setup) делается проверка на возможность записи в неё и, для каждой консоли вызывается функция setup_font. При этом, автор скрипта пишет, что к моменту вызова скрипта консоли должны быть созданы, а если нет, то тест на запись в консоль не сработает и эта консоль останется не настроенной. А пользователь сам может вызвать setupcon потом. Возьмём это на заметку и рассмотрим функцию setup_font из файла /lib/udev/console-setup-tty:
После перезагрузки шрифт будет установлен, но при смене шрифта через dpkg-reconfigure console-setup нам придётся опять вносить исправления вручную.
Продолжаем разговор
Вспоминаем про скрипт setupcon, который был упомянут в комментариях и на котором базируется /lib/udev/console-setup-tty. Смотрим, что у него внутри:
(a — первая цифра, b — вторая), то бОльшая цифра переставляется вперёд:
Например, было ’10×20′ — стало ’20×10′, а ’22×11′ меняться не будет. Посмотрим, как называются шрифты, доступные в системе:
то скрипт отработает правильно.
Тёплые потроха
Продолжаем потрошить скрипты. Ищем, откуда (из какого пакета) растут ноги у /lib/udev/console-setup-tty:
Скачиваем и распаковываем пакет keyboard-configuration:
Смотрим, в каких скриптах используется файл настроек /etc/default/console-setup:
Из них интерес представляют только:
отличаюся только одной строкой:
OPTION=FRAMEBUFFER
Знакомая опция, подумал я… Три интересующих нас скрипта расположены в папке initramfs-tools. Пакет initramfs-tools отвечает за сборку образа initrd, который загружается в память при загрузке ядра и используется им в тот момент, пока не доступна основная файловая система. В initrd обычно содержатся модули ядра, необходимые для его работы на нашем оборудовании и для подключения файловых систем, а так же, скрипты инициализации и их конфигурационные файлы. Собирается образ скриптом update-initramfs, который, в итоге, вызывает скрипт mkinitramfs. Как всегда, посмотрим что внутри у mkinitramfs:
Здесь всё выглядит довольно сложно, я попробую показать с примерами. Этот блок проходит по всем файлам в /usr/share/initramfs-tools/scripts/ и подпапках, и ищет внутри них строку, содержащую ‘OPTION=’. Например, в файле /usr/share/initramfs-tools/scripts/init-top/console_setup есть строка
Этими скриптами запускается и настраивается фреймбуфер (framebuffer) — грубо говоря, текстовая консоль переводится в графический режим. После этого появляется возможность отрисовывать в ней изображения и нестандартные шрифты. Вот как раз console_setup и устанавливает шрифт для консоли. Вероятно, из-за того, что пользователь может выбрать нестандартный шрифт, этот скрипт привязан к запуску фреймбуфера и без установленого параметра ‘FRAMEBUFFER=y’ не добавляется в initrd.
Таким образом, при активации фреймбуфера, так же будет происходить настройка консоли с установкой шрифта, но на более раннем этапе.
Но вернёмся к нашим скриптам из keyboard-configuration
Скрипт …/init-top/console_setup копируется в образ initrd при установленном параметре ‘FRAMEBUFFER=y’.
Скрипт …/panic/console_setup копируется в initrd всегда, т. к. не содержит заданную переменную ‘OPTION’. Скрипты из каталога panic вызываются функцией panic из скрипта init (который включает функции из файла /usr/share/initramfs-tools/scripts/functions). Сама же функция panic вызывается в случае, когда скрипт инициализации init не может продолжить выполнение (не найдена корневая файловая система и т.п.). Значит, скрипт…/panic/console_setup предназначен для настройки консоли в режиме panic, чтобы вывести сообщения в родной для пользователя кодировке.
Скрипт …/hooks/console_setup вызывается из скрипта mkinitramfs, при создании образа initrd:
Этот скрипт занимается тем, что копирует файлы, необходимые для настройки консоли (файл шрифта, таблицу перекодировки шрифта (acm) и файл раскладки клавиатуры (keymap)) в initrd. Соответственно, даже если мы исправим init-top/console_setup, но забудем внести изменения в hooks/console_setup, настройка консоли на этом этапе не произойдёт из-за отсутствия необходимых файлов.
Вносим исправления
Теперь, зная каким образом происходит настройка консоли и где допущены ошибки, можно внести правки в код. Качаем исходный код пакета keyboard-configuration, так же, скачаем все зависимости для пересборки пакета:
Но вместо keyboard-configuration у нас скачался пакет console-setup, из которого, как оказалось собирается несколько deb-файлов, в том числе console-setup и keyboard-configuration. Заходим в корень исходников, и смотрим в каких файлах используется переменная FONT:
После их изучения, понятно что нам интересны только
в каждый из файлов, после подключения конфигурационного файла и проверок, например:
Так же нужно добавить проверку на сжатый файлы:
После внесения правок можем пересобрать пакет — заходим в корень исходников и выполняем:
Всё, теперь при загрузке ОС будет корректно настраиваться текстовая консоль.
Скачать патч и исправленный пакет можно на странице с багрепортом на ланчпаде. Там же можно увеличить приоритет ошибки, зарегистрировавшись и нажав «This bug affects me».
Обновлено 20.04.2016:
Сегодня, 20.04.2016, за один день до релиза, исправление вошло сначала в proposed, а затем, и в release ветку Ubuntu Xenial.
Для этого пришлось приложить некоторые усилия. В частности — создать на launchpad’е ветку пакета console-setup, внести в неё исправления и предложить (propose) эту ветку для слияния с релизной. Так же, я посмотрел кто последний загружал пакет console-setup и отправил ему просьбу рассмотреть ошибку и исправления. Через 2 недели исправленный пакет был рассмотрен, одобрен и принят в релиз. Спасибо тебе, Mathieu Trudel-Lapierre!
MNorin.com
Блог про Linux, Bash и другие информационные технологии
console-cyrillic и systemd в Debian
Console-cyrillic — это пакет для руссификации консоли (поддержки кириллицы в локальном терминале), старый и известный пакет. Но в новых версиях операционных систем с системой инициализации systemd он считается устаревшим, поскольку у systemd есть нативные средства локализации консоли и наличие console-cyrillic там не только не требуется, но и не рекомендуется, потому что работать все равно не будет, а если и будет, то плохо, поэтому желательно сразу удалить пакет console-cyrillic командой «apt-get remove —purge console-cyrillic». Вот как руссифицируется консоль в Debian 8:
Вот как обычно выглядит проблема с отображением русских букв после установки русской локали при помощи команды «dpkg-reconfigure locales»:
Русские буквы вроде бы отображаются, но частично. Надо это исправлять.
Установка пакетов
Сначала устанавливаем пакеты, если они у вас не установлены (хотя, скорее всего, установлены):
И теперь, соответственно, настраиваем.
Настройка руссификации консоли
Сначала настраиваем консоль, то есть отображение кириллицы в терминале. Даем команду
Обратите внимание на переменную LANG перед вызовом dpkg-reconfigure. Если эту переменную не устанавливать в значение en_US.UTF-8, то конфигуратор будет выглядеть так же, как mc на картинке выше, и разобраться в нем будет нереально.
Выбираем «UTF-8», нажимаем ОК.
Выбираем «Cyrillic — Slavic languages (also Bosnian and Serbian Latin)».
Выбираем шрифт (в данном случае Terminus, но вы можете посмотреть все по очереди, реконфигурируя несколько раз).
И затем выбираем размер шрифта (В данном случае 8 на 16 точек, но это вы тоже можете посмотреть, как будет лучше выглядеть на вашем экране). Нажимаем Enter, и всё, конфигурация русских букв завершена. Теперь mc выглядит так:
Совсем другое дело. Теперь всё понятно.
Настройка клавиатурной раскладки
Отображение кириллицы есть, теперь надо настроить ввод кириллических символов с клавиатуры. Выполняем команду
Теперь переменную LANG указывать не нужно, всё должно отображаться нормальными буквами.
Выбираем подходящий тип клавиатуры (обычно подходит 105-клавишная).
Русских раскладок много, поэтому выбираем просто «Русская»
Видим сообщение о том, что надо указать клавишу для переключения раскладок. Нажимаем после прочтения ОК.
Выбираем клавиши, которые вам более удобны, я обычно использую Caps Lock.
Затем выбираем временный переключатель, если нужен.
Затем AltGr (Опять же, если это нужно)
Затем составную клавишу (удобно для комбинации нескольких символов в один)
И, собственно, всё. Как видите, теперь можно пользоваться в консоли и английской, и русской раскладками.
Похожие посты:
console-cyrillic и systemd в Debian : 23 комментария
Привет всем. привет автору. хорошая статья. автору спасибо. но у меня есть животрепещющий вопрос. я ни как не могу дотумкать как мне подстроить клавиатуру под себя. мне очень неудобна английская стандартная раскладка куэрти. мне бы хотелось от неё избавиться. а нужна мне спецыализированная английская раскладка дворак для правой руки. что-то я её не нашёл да и избавиться от куэрти вообще не смог. можэт подскажите? за ранее спасибо.
Добрый вечер. В файле /etc/default/keyboard
Строчки
XKBLAYOUT=»us,ru»
XKBVARIANT=»,»
привет всем. привет автору и огромное спасибо. что-то я сквозь пальцы проглядел этот конфигурацыонный файл. за такой авторский совет автору огромное гуд. а ещё можэт кто-нибуть знает? как в чистой консоли добавить горячие клавиши. к примеру есть горячие клавиши удалить с позицыи курсора до конца строки это нажать контрол+k. и так далее. для начало хотелось бы добавить клавиши контрол+стрелка влево и вправо. как это действует в гуёвых терминалах. какой бы конфиг поковырять?
всем всего хорошего.
странно но что-то мой ящик глючит и письмо на подтверждение не пришло.
Приветствую.
Вот такие две команды должны помочь:
bind ‘»\C-[[C»: forward-word’; bind ‘»\C-[[D»: backward-word’
Поковырять /etc/inputrc,
/.inputrc, man bash секцию READLINE
Привет всем. а автору большое спасибо. сразу видно спецыалиста. не то что я. и то что автор хороший человек за это ему двойное спасибо. так как он раздаёт добрые пини всяким недотёпам. команда bind действительно работает. но пока не рабзобрался с кодами. но это вопрос времени. благо общее направление указано. потому сел за разбирательство. всем спасибо. сижу манн-нирую.
Проблема в том что у меня после перезагрузки постоянно слетает локализация в консолях, в терминали (в графическом интерфейсе, все впорядке).
Приходится вручную перезапускать console-setup или setupcon
То же самое, гуглёж толку не дал. И у народа такое видел, никто так и не решил.
Автор, ответь!
Могу посмотреть не раньше выходных. Надо воспроизвести. Версия Дебиана и платформа какие?
Запускал в qemu под Arch Linux x64. Хочу на древний другой комп накатить, вот пробую.
debian-9.0.0-i386-netinst.iso, из hd-media (пробрасывал флешку — заодно разобрался как это делать).
Не, я понимаю, что непринципиально: даже если голая консоль когда и пригождается, то ничего сложного набрать sudo setupcon, и всё исправится, правда до следующей перезагрузки. НО — мы же тут все линуксоиды, надо ж разобраться))
http://help.ubuntu.ru/wiki/russian_font_in_console
В Stretch 32
sudo vim /lib/systemd/system/console-setup.service
Заменяем ExecStart=/lib/consol-setup/consol-setup.sh на ExecStart=/bin/setupcon
Добрый день. Ваша инструкция мне полностью помогла. Но вот о чём я хочу спросить…Линукс для меня стал интересным хобби. Я купил китайскую orange pi zero и дисплей 2’8″ ili9341. Соединил их и настроил. Система armbian 5.25 на ядре 3.4.113-sun8i и на основе debian GNU/Linux 8 (jessie). Собственно хобби изучать консольный линукс. Давно зрел и вот собрал себе малыша именно для этого. Но вот диллема, мне нужно в размер экрана 320×240 впихнуть как можно больше. А в консоли немаловажный элемент для этого — шрифт. Сейчас стоит Terminus 6×12 (framebuffer only), но нужно ещё меньше. В идеале 4х8 или 5×10. В принципе о сложностях написания такого шрифта осведомлён, но готов использовпть всю зитрость, чтобы самому написать такой. Уверен, что смогу изверуться и сделать удобочитаемый. Но. Как его так поставить, чтобы console-setup видел его и воспринимал так же как Terminus? Как и куда его полодить и какие нпмтройки сделать….не знаю…В сети информацию нашёл, много, но всё не подходит. Или работает частично…Поможете?
Добрый день.
Конкретных инструкций не дам, но могу подсказать, на что обратить внимание.
1) Директория /usr/share/consolefonts
2) Команда setfont
3) Вот этот репозиторий на GitHub, где можно добыть шрифт в формате PSF с символами нужного размера — https://github.com/robey/font-problems
4) Файл /etc/default/console-setup, в котором есть следующая строчка:
You can also directly specify nonstandard font or console map to load.
Надеюсь, это как-то поможет. Отпишитесь, как пойдет.
Ок. Попробую. Когда будет результат напишу. Спасибо. )
Судя по этой ветке форума — http://orangepi.pp.ua/index.php/topic,798.0.html всё получилось?
Точно. Это тоже я. ) Благодаря именно вашим подсказкам это получилось. Спасибо большое. Нужно ли на том сайте дать ссылку на вашу страницу?
Там в теме ссылка на эту статью уже есть, одной хватит, я думаю )
Рад, что смог помочь.
Всё получилось. Спасибо за полезные советы!
Все работает, но как-только ребут, опять кириллицы нет, что делать?
Можете уточнить, какая операционная система и версию операционной системы?
Конкретно у меня debian-9.6.0-i386. Не сохраняет изменения по кириллице. Про разные костыли для исправления этого можно нагуглить, но у меня они не работают и у многих тоже.
Чистая установка или обновлялись с 8?
# systemctl edit console-setup.service:
[Unit]
Wants=systemd-udev-settle.service
After=systemd-udev-settle.service
Автор, я делаю то же самое что написано выше, но у меня постоянно слетает что делать?