Linux квадратики вместо русских букв

Поддержка русского языка в консоли

Содержание

В 15.10 изменена система загрузки (sustemd) и описанное ниже средство не помогает. Смотрите раздел Решение для ubuntu 15.10 и более поздних.

Почему в консоли квадратики вместо русских букв?

Многие замечали, что из версии в версию в Ubuntu у некоторых слетают русские фонты в консоли (куда можно попасть нажав CTRL+ALT+F1 — F6, а CTRL+ALT+F7 возвращает в графическую среду). Озаботившись причинами почему это происходит я (Sly_tom_cat) облазил кучу мест в поисках решения. Залез и в initrd и смотрел в скрипты upstart и в UDEV… что ни правил — не помогает. Особо порадовал комментарий разработчиков в одном из скриптов Udev 1) . Cуть там примерно такова: «надо бы делать как-то так, но мы попробовали — у нас не вышло. Так что, делаем как получится, а если юзерам нужны нормальные фонты — пускай выполнят setupcon и все будет Ok»

Но все-таки нет такого решения, которого не найти в Интернете. Причем нашел я его даже по русски 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 не настраивают.

Читайте также:  Скин сталкер для windows

Однако, это совсем не объясняет почему подобная проблема возникает не у всех. И как оказывается — она вылезает у любителей оптимизации системы, да еще и у пользователей серверной версии Ubuntu…

Что можно увидеть в любой инструкции по повышению скорости загрузки ОС?

Правильно — «уберите заставку при загрузке»: в файле /etc/default/grub в переменной GRUB_CMDLINE_LINUX_DEFAULT значение splash замените на nosplash или просто уберите) и выполните sudo update-grub. Ну, а пользователи серверной версии Ubuntu по умолчанию обделены таким «счастьем», как графическая заставка во время загрузки.

Так вот, оказывается, разработчики решили, что фреймбуфер нужен для рисования заставки и … и только для этого. Больше (оказывается) он никому, ни зачем, не нужен. Поэтому, если заставку рисуем — то фреймбуфер разрешаем (а то как же — без него же не нарисовать заставку), а если заставку не рисуем, то и фреймбуфер включать незачем, не включаем…. Нет, позже, после инициализации ядра, фреймбуфер все-таки где-то активируется, но поезд уже ушел — фонты на этапе иницализации ядра не загрузились…. «а кому надо — те пусть вызывают setupcon …»

Решение для ubuntu 15.10 и более поздних

В Ubuntu 15.10 имеется неисправленный баг с настройкой локали https://bugs.launchpad.net/ubuntu/+source/console-setup/+bug/1511975. Поэтому для настройки русского языка необходимо проделать следующее 1.

(настройки в файле /etc/default/console-setup)

(настройки в файле /etc/default/keyboard)

Заменить последнюю строку

Вредные советы

Поиск в сети порой дает много костыльных советов на данную тему. Особенно часто встречаются два из них:
1. костыль из костылей: «Прописать setupcon в /etc/rc.local» — мало того что это костыль, да еще и не помогает иногда 🙁
2. совсем эпический по своей дебильности костыль — персональный пакет для русского языка в консоли — console-cyrillic . …вызывает полное недоумение идея — «под каждый язык на свете создавать персональный пакет для консоли», когда по дефолту в UTF8 кодировке и основных консольных шрифтах есть все, что нужно для поддержки практически любого языка (по крайней мере европейского).

Если вам попадаются такие советы, не поленитесь — объясните людям их глубокое заблуждение и отправьте на эту страницу.

Источник

Квадратики вместо русских букв

Когда я перехожу в консоль (сочетанием Ctrl+Alt+F1) вместо русских букв отображаются квадратики. После обновление это само поправилось, а после ещё одного обновления из tumbleweed снова появились в квадратики. Если консоль открыта в окне, то всё норм. Дистр OpenSUSE.

Это старый-престарый баг Суси.

А какие шрифты, поддерживающие русский язык подскажите?

ЕМНИП, нонче какой-то косяк с кодировками. Я в своем арчике сколько ни бился с этими настройками терминала, так русский у меня и не «завелся». Похоже, этой собаке только хрюникод нужен.

Среди первых — отсутствие выбора схемы инициализации системы: выбрать SysV вместо systemd из загрузочного меню больше нельзя. Правда, пакет sysvinit в репозитории имеется (хотя и не устанавливается по умолчанию). И, возможно, схему SysV посредством запуска systemd-sysvinit реанимировать можно. Правда, есть ли в этом смысл — не знаю.

Читайте также:  Сканер эпсон 1270 драйвер для windows 10

настало время для изложения новостей плохих. О которых тоже долго распространяться не буду: только ленивый не успел ещё написать и о чудесах подключения к сети во время старта системы, и о квадратиках в консоли. Отдал свой долг этим темам и ваш покорный слуга — так что повторяться нет смысла. Тем более, что все эти штуковины обусловлены тоже не самой openSUSE, а исключительно systemd. И худо-бедно решаются — не костылями, как раньше, во времена SysV, а совершенствованием самой инвалидной коляски.

Жалко что выбор между sysvinit и systemd убрали.

setfont Cyr_a8x16 . Мне помогает на любом дистрибутиве.

Не факт, что дело в кодировке. У меня вот тоже на vconsole.conf арч уже давно не реагирует. Приходится при каждом входе в консоль писать команду, написанную мной выше.

На другом компьютере решил проще: эту же команду прописал в конец .bashrc

и не работает, собака!

Нашёл способ поддерживающий кириллицу шрифт — ter-c16b А можно как-нибудь сделать, чтобы в консоли (не в эм уляторе терминала) автоматически прописывалась такая команда: setfont ter-c16b

Я же тебе написал работающее решение. Я у тебя в игнор-списке?

Номер, сестра, номер. Дело в том, что в 12.1 оно очень даже решаемо. Легальными способами. А именно настройка раскладки:

настройка шрифта консоли

Можно попытаться отключить заставку. Я делал. Получил косяк хуже чем было: в tty1 экран стал забит графическим мусором. Хотя в остальных tty шрифт установился корректно. Я откатил, и решил вопрос иначе: в

Раскладка кстати нормально устанавливается в любом дистре. проблема с фонтом легально решалась только в 12.1. Сорри за некоторую сумбурность.

Ты предлагаешь решение, предполагающее скачку чего-то и установку чего-то. Я тоже предпочитаю более прозрачные решения ^_^ ОПа можно понять.

Чего-то ты длинно очень написал. Можно же в одну строчку:

А все же любопытно. Я не знал, что yast’ом можно рулить из консоли. Неожиданно, для GUI.

А через правила udev не работает (см. арчевики)?

Похоже, этой собаке только хрюникод нужен.

Ко хрюникодной системе нужны хрюникодные шрифты. Они содержат таблицы соответсвия кодов юникода символам конкретного шрифта (шрифт не может быть больше 256 символов, аппаратные ограничения текстового режима видюхи). Можно подгружать эти таблицы отдельно. В сюзе они есть. Но по скольку не пользовался, не помню где. Если они встроены в шрифт, в его названии обычно содержится Uni в начале или расширение psfu (в отличие от обычного psf) Хотя в данной ветке дважды фигурирует незабвенный Cyr_a8x16.gz, не имеющий этих признаков.

Не факт, что дело в кодировке. У меня вот тоже на vconsole.conf арч уже давно не реагирует.

Хуки keymap и consolefont есть?

Ты мне ссылку на что-то страшное дал, с поцтеровысерами. У меня же sysvinit!

Ну было ж по поводу OpenSUSE, нет? udev-то по-любому есть.

Источник

[РЕШЕНО] Русский шрифт в консоли — квадраты

# 6 лет, 12 месяцев назад (отредактировано 6 лет, 12 месяцев назад) В X-ах все ОК. Понадобилась текстовая консоль — вместо русских букв — квадраты. При этом клавиатура переключается как надо.

Читайте также:  Installing free windows 10 upgrade

Русские буквы появляются только после setfont UniCyr_8x16
Обратил внимание на ругань systemd

Получается, что юнит vconsole пытается обработать vconsole.conf, грузит нужную карту клавы, но спотыкается на шрифте — почему он не видит шрифт? Ведь setfont устанавливает его без проблем.

Ищу уже с неделю, ничего толкового.

Читал эту тему, и пробовал несколько вариантов (кроме хуков initramfs) — бестолку.
Вот например, что получается с «универсальным» вариантом с использованием скрипта:
После перезагрузки естественно ничего не изменилось, решил проверить скрипт и получил то же, что было и с системД:
Т.е. systemd-vconsole-setup все-равно не может найти шрифт (для профилактики поменял шрифт на UniCyrExt_8x16).
# 6 лет, 12 месяцев назад (отредактировано 6 лет, 12 месяцев назад)

убери FONT_UNIMAP=UniCyr_8x16 и LOCALE=»ru_RU.UTF-8″ заодно!
ls /usr/share/kbd/unimaps/

а вообще ты знаешь зачем ты используешь FONT_UNIMAP?

# 6 лет, 12 месяцев назад (отредактировано 6 лет, 12 месяцев назад)

nafanja
убери FONT_UNIMAP=UniCyr_8x16
.
вообще ты знаешь зачем ты используешь FONT_UNIMAP?

Он появился от отчаяния. Изначально был только FONT.
Убрал, проверил скрипт — не ругается. Перезагрузился — шрифт есть в консолях.

Видимо, что-то накосячил ранее. Сейчас сделано:
в /etc/mkinitcpio.conf в MODULES=»» добавил i915, для своего нетбучного i945gma. Так же в /etc/udev/rules.d добавил правило и скрипт в /etc/udev, которые приводил раньше.

Проверил по отдельности — и подгрузка модуля i915 при старте и правило+скрипт — оба дают результат.

Вопрос, какой лучше использовать? склоняюсь к MODULES=»i915″, т.к. модулю все-равно грузится, а самописные скрипты — как-то костыльно.

Источник

Кракозябры в консоли Ubuntu/Debian

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

Кракозя́бры (крякозя́бры) — жаргонизм, обозначающий бессмысленный с точки зрения читателя набор символов, чаще всего получаемый на компьютере в результате неправильного перекодирования осмысленного текста. В единственном числе — вообще любой компьютерный символ, для которого в русском языке нет общеизвестного названия, например, значок @. Чаще всего кракозябры образуются на выводе программ по причине неправильно настроенной кодировки символов, а также из-за использования неподходящего шрифта.

Пара примеров из того же Wiki:

А теперь перейдём к решению.

Для редактирования отображения симвлов в консоли существует специальный конфигуратор который запускается такой командой:

Далее все действия производятся в консольном графическом конфигураторе простым выбором необходимых пунктов с помощью кнопок вверх, вниз и “Enter”.

Выбираем кодировку — UTF-8 :

Выбираем таблицу символов — Кирилица — славянские языки (5 пункт):

Выбираем шрифт — Fixed или TerminusBold :

Выбираем размер шрифта — 8×16 :

Для того, чтобы наша настройка не слетела после перезагрузки нужно проделать следующее:

В открывшемся текстовом файле находим exit 0 и над этой строкой пишем:

Если эта статья помогла вам, пожалуйста, оставьте комментарий

Спасибо за прочтение!

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

Источник

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