Manjaro Linux

Русское сообщество

Русский шрифт в терминале и ненавистные квадратики

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

Русский шрифт в терминале и ненавистные квадратики

Сообщение zaxxon » 11 янв 2015, 09:42

После установки Manjaro рано или поздно возникает необходимость работы в терминалах tty (Ctrl-Alt-F2) вне Х. По умолчанию кирилица там отсутствует. Чтобы новым пользователям лишний раз не гуглить, считаю такое руководство не помешает в Русскоязычном сообществе. Исправить это можно так:

1) Редактируем vconsole.conf:

sudo nano /etc/vconsole.conf

KEYMAP="ruwin_alt_sh-UTF-8"
LOCALE="ru_RU.UTF-8"
CONSOLEMAP=
FONT="ter-v16v"
USECOLOR="yes"

Сохраняем, выходим из нано. строка KEYMAP="ruwin_alt_sh-UTF-8" устанавливает переключение раскладок по Alt-Shift, другие варианты можно посмотреть так:
ls /usr/share/kbd/keymaps/i386/qwerty
Пэкспериментировать можно с помощью команды loadkeys <имя раскладки> в терминале (Ctrl-Alt-F2 например)
Шрифт задаёт строка FONT="ter-v16v", посмотреть доступные: ls /usr/share/kbd/consolefonts/ включить нужный шрифт: setfont <имя шрифта>

2) Пересоздаём initrd.
Для этого сначала редактируем файл mkinitcpio.conf. В нём в строке HOOKS="base udev autodetect modconf block keyboard keymap ... должно присутствовать consolefont если нет - дописываем после keymap.

sudo nano /etc/mkinitcpio.conf

HOOKS="base udev autodetect modconf block keyboard keymap consolefont plymouth resume filesystems fsck"

Сохраняем, выходим из нано.
Пересоздаём initrd:
sudo mkinitcpio -p linux316 (linux316 - префикс текущего ядра (моего) - посмотреть свои - в /etc/mkinitcpio.d/)

3) Перезагрузка. Проверка.

В принципе этого обычно достаточно. НО! У меня на некоторых машинах (в основном на буках ) появлялись странные косяки, выражающиеся в виде белых квадратиков вместо букв и невозможностью авторизации в терминале. Явно приходило на ум что логин пишу я на русском, шрифта нет и раскладка не меняется - т.е. вообще ни чего не работает. Перелазив кучу форумов по арчу выяснил, что это связано непосредственно с SystemD и фреймбуфером. Перепробывав много костылей в виде скриптов для udev ничего не приносило желаемого результата. Проблема вот в чём - SystemD распараллеливает запуск служб, и если настройки консоли и шрифта загружаются до инициализации фреймбуфера - получаем такой вот косяк. Чтобы избавить Вас от перечитывания сотен страниц и неизвестного количества экспериментов я и решил поделиться опытом.

1) Фреймбуфер дожен стартовать как можно раньше. (на 100% проблему это не решит но вместо квадратиков появяться русские буквы)

sudo lspci -vk

находим какой модуль ядра отвечает за видео (VGA controller) в моём случае:

00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 3800
Flags: bus master, fast devsel, latency 0, IRQ 44
Memory at b5000000 (64-bit, non-prefetchable) [size=4M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 6000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [a4] PCI Advanced Features
Kernel driver in use: i915
Kernel modules: i915



Для этого в пункте 2 выше помимо строки HOOKS редактируем строку
MODULES="i915 ext4 aes_i586 sha256 sha512"
Здесь я добавил i915 - модуль для интегрированного видео от intel - Вы добавляете своё.

2) За загрузку нужных нам параметров консолей отвечает SystemD сервис systemd-vconsole-setup - он отрабатывает не в то время и основной косяк именно здесь!
Исправляем это:

sudo nano /usr/lib/systemd/system/systemd-vconsole-setup.service
находим и приводим к виду

DefaultDependencies=no
Conflicts=shutdown.target
After=sysinit.target
Before=shutdown.target
ConditionPathExists=/dev/tty0

Сохраняем. Перезагружаемся, проверяем ....

Возможно наверное вообще ограничиться этим способом (П2) не подгружая модуль, т.к sudo systemctl restart systemd-vconsole-setup решает проблему из иксов и квадраты исчезнут...

Удачи!
Аватара пользователя
zaxxon
 
Автор темы
Сообщения: 14
Зарегистрирован: 08 янв 2015, 08:55
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.

Re: Русский шрифт в терминале и ненавистные квадратики

Сообщение vazonov » 14 янв 2015, 15:50

полезный пост.
Аватара пользователя
vazonov
 
Сообщения: 1
Зарегистрирован: 14 янв 2015, 15:47
Откуда: Россия, Санкт-Петербург
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Русский шрифт в терминале и ненавистные квадратики

Сообщение DPad » 12 фев 2015, 23:58

zaxxon писал(а):HOOKS="base udev autodetect modconf block keyboard keymap consolefont plymouth resume filesystems fsck"

У меня отсутствует параметр resume. Дописать?
Аватара пользователя
DPad
 
Сообщения: 21
Зарегистрирован: 11 фев 2015, 22:47
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.

Re: Русский шрифт в терминале и ненавистные квадратики

Сообщение Ivan.Berdyaev » 13 фев 2015, 08:20

DPad писал(а):У меня отсутствует параметр resume. Дописать?

насколько я знаю, resume отвечает за сон и гибернацию, еопробуйте если уходит в гибернацию и просыпается нормально, то ничего можно не менять, в противном случае добавьте resume
Аватара пользователя
Ivan.Berdyaev
 
Сообщения: 27
Зарегистрирован: 30 июн 2014, 21:55
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.

Re: Русский шрифт в терминале и ненавистные квадратики

Сообщение svicervlad » 13 фев 2015, 16:23

а я не парюсь и просто
Код: Выделить всё
setfont cyr-sun16
каждый раз:-)
Аватара пользователя
svicervlad
 
Сообщения: 8
Зарегистрирован: 27 янв 2015, 19:37
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Re: Русский шрифт в терминале и ненавистные квадратики

Сообщение dimonmmk » 14 фев 2015, 16:15

svicervlad писал(а):а я не парюсь и просто
Код: Выделить всё
setfont cyr-sun16
каждый раз:-)

И не лень? Хоть алиас пропиши, мазохист. :D
Аватара пользователя
dimonmmk
 
Сообщения: 604
Зарегистрирован: 10 июл 2014, 19:08
Откуда: 57° 3'51.28" 36° 1'43.38"
Благодарил (а): 14 раз.
Поблагодарили: 134 раз.

Re: Русский шрифт в терминале и ненавистные квадратики

Сообщение manjarqo » 14 фев 2015, 18:43

dimonmmk писал(а):Хоть алиас пропиши, мазохист. :D

и раз уж речь зашла об алиасах, просьба поделиться своим здесь :roll:
Аватара пользователя
manjarqo
Администратор
 
Сообщения: 407
Зарегистрирован: 30 июн 2014, 15:36
Откуда: Краснодар
Благодарил (а): 51 раз.
Поблагодарили: 64 раз.

Re: Русский шрифт в терминале и ненавистные квадратики

Сообщение svicervlad » 15 фев 2015, 16:05

Если честно не вижу смысла, в консольный сеанс надо заходить только в случае сбоя, а графические терминалы, норм шрифт отображают.
Плюс у терминала меньше производительность чем у эмуляторов терминала http://martin.ankerl.com/files/term-bench.png?e08d73
Последний раз редактировалось svicervlad 15 фев 2015, 16:09, всего редактировалось 1 раз.
Аватара пользователя
svicervlad
 
Сообщения: 8
Зарегистрирован: 27 янв 2015, 19:37
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Re: Русский шрифт в терминале и ненавистные квадратики

Сообщение slayer99 » 02 ноя 2015, 15:19

Код: Выделить всё
nano /etc/profile

и пишем туда
Код: Выделить всё
setfont cyr-sun16

Вроде так делал, на флешке с арчем так стоит.
Последний раз редактировалось slayer99 02 ноя 2015, 15:19, всего редактировалось 1 раз.
Аватара пользователя
slayer99
 
Сообщения: 27
Зарегистрирован: 21 окт 2015, 14:05
Благодарил (а): 1 раз.
Поблагодарили: 4 раз.


Вернуться в Учебники (How-To & F.A.Q)



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron