Linux не отображается кириллица

кириллица в консоли gentoo

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

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

что-то мне подсказывает, что это известная проблема. я гуглил, честно! нуль результата

моя гипотеза: система, что была в stage3, поддержки кириллицы utf-8 не имела. с чего бы ей отображать нужные символы? может пересобрать систему с поддержкой нужной кодировки?

Установи шрифт, поддерживающий кириллицу:

Во-первых, убедись, что твой шрифт умеет в кириллицу. Точно в неё умеет terminus, чтобы установить, в /etc/conf.d/consolefont сделай CONSOLEFONT=»ter-v16v» , например. Во-вторых, убедись, что у тебя в ядре поддержка юникода собрана

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

Шрифт не умеет кириллицу?

убедись, что у тебя в ядре поддержка юникода собрана

Если бы не, то у него было бы , а не квадраты.

Поставь в консоли шрифт с поддержкой кириллицы.

Например, шрифты terminus для консоли имеют поддержку.

Попробуй что-то вроде: ter-k16n.

Только собери в начале пакет со шрифтами terminus с поддержкой консоли.

Как вариант, можно ещё UniCyr_8x16, вместо terminus.

Прикольно. Надо будет как-нибудь попробовать

Источник

Как сменить 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 сетевые адаптеры настройка

Для того, чтобы управлять локалью в 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, остается только перелогиниться.

Источник

Не отображается кириллица в консоли

Добрый день! Вместо кириллицы в консоли отображаются прямоугольнички, хотелось бы исправить. Как это можно сделать? Дистрибутив Slackware 14.1. В X Window System при работе с эмулятором терминала полный порядок, там кириллица распознаётся, при этом в самой системе пользуюсь английской локалью, но бывают файлы с названиями на русском языке. В файле /etc/rc.d/rc.font вот что:

Попробуй команду unicode_start[/url].

Что у тебя grep -vE ‘^($|#)’ /etc/profile.d/lang.sh показывает?

На первую команду No such file or directory при выполнении от обычного пользователя и command not found от рута.

Локаль-то выбранная сгенерирована?

Не очень понимаю, о чем вы говорите. Как это можно посмотреть? Систему ставил ещё летом, изначально пришлось включать распознавание кириллицы для работы с ней в KDE, что нет в консоли только сейчас заметил (в эмуляторах терминала есть).

ru_RU.UTF-8 есть как минимум в /etc/profile.d/lang.sh и /usr/share/locale/locale.alias

Что и ожидаемо. Файл у тебя не исполнимый — при загрузке не запускается.
Попробуй выполнить эти команды:

Я имею в виду создание файла локали, а именно выполнение, в данном случае:

Я имею в виду создание файла локали, а именно выполнение, в данном случае:

По-моему в слаке и без этого работает, видимо все локали уже скомпилированы изкоробки.

Поправил, теперь всё работает. Спасибо!

Локали ставятся с glibc-i18n, если пакет установлен, локаль на месте, если не установлен, то и генерить не из чего и нечем.

Проверить наличие локали проще простого:

Если в выводе нет ошибок, то с локалью всё в порядке.

Источник

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

Содержание

В 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»

Читайте также:  Обновиться до обновление windows 10 1607

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

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

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

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

Читайте также:  Access ftp from windows

Решение для 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 кодировке и основных консольных шрифтах есть все, что нужно для поддержки практически любого языка (по крайней мере европейского).

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

Источник

Что делать, если в Linux не видны некоторые символы Unicode (РЕШЕНО)

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

Чтобы это исправить, нужен шрифт, который содержит эти символы. Ни один шрифт не содержит все символы Unicode, которых примерно 1.000.000.

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

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

На Debian, Linux Mint, Ubuntu, Kali Linux и их производных выполните команды для установки шрифтов с Unicode символами:

В Arch Linux, BlackArch, Manjaro и их производных данные шрифты можно установить из AUR. Чтобы это сделать удобно, начните с установки программы pikaur (она замечательная!).

Когда команда pikaur будет установлена, выполните:

Обратите внимание, что шрифты ttf-symbola и ttf-ancient-fonts в Arch Linux и производных дистрибутивах конфликтуют. Поэтому вместо ttf-symbola вы можете попробовать установить шрифт ttf-ancient-fonts. Вам необязательно устанавливать все шрифты — вы можете попробовать делать установку по одному и проверять, нормально ли отображаются нужные вам символы Unicode.

Чтобы изменения вступили в силу (чтобы новые шрифты начали применяться), может потребоваться перезагрузка.

Как можно увидеть на втором скриншоте, проблема с отсутствующими символами была решена.

Источник

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