Установка русских шрифтов и русского языка




Здравствуйте, уважаемые читатели! Пора наконец-то установить русский язык на микрокомпьютер MB77.07!

К сожалению, до последнего времени русский микрокомпьютер не поддерживал русский язык, и с русскими шрифтами в терминале было не всё гладко. Производитель ограничился минималистической прошивкой c комплектом драйверов периферии, оставив остальное на полное усмотрение владельцев микрокомпьютеров. Такой подход весьма удобен инженерам-разработчикам программного обеспечения. Но громкие заявления о русском микрокомпьютере, согласитесь, мало стоят, если аппарат отечественной электронной промышленности не дружит с русским языком - родным языком инженеров, конструкторов и программистов! Сегодня мы научим микрокомпьютер русскому языку.


Если запустить мой скомпилированный пример работы с GPIO, то в терминале вместо текста будет сообщение квадратиками:

При написании программы, я написал вывод сообщения по-русски кириллицей. Однако, микрокомпьютер не знает как отображать русский текст без поддержки русских шрифтов и русской кодировки символов. Для начала установим пакет настройки терминала:

root@shade:~# apt-get install console-setup

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  console-setup-linux kbd keyboard-configuration xkb-data
The following NEW packages will be installed:
  console-setup console-setup-linux kbd keyboard-configuration xkb-data
0 upgraded, 5 newly installed, 0 to remove and 73 not upgraded.
Need to get 2775 kB of archives.
After this operation, 11.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.raspbian.org/raspbian/ jessie/main kbd armhf 1.15.5-2 [300 kB]
Get:2 http://archive.raspbian.org/raspbian/ jessie/main keyboard-configuration all 1.123 [766 kB]
Get:3 http://archive.raspbian.org/raspbian/ jessie/main console-setup-linux all 1.123 [984 kB]
Get:4 http://archive.raspbian.org/raspbian/ jessie/main xkb-data all 2.12-1 [597 kB]
Get:5 http://archive.raspbian.org/raspbian/ jessie/main console-setup all 1.123 [128 kB]
Fetched 2775 kB in 4s (610 kB/s)
Preconfiguring packages ...

Свернуть

Перед установкой пакетов запустится процедура настройки:

Дня начала нужно выбрать подходящую нам раскладку. Нужной в списке нет - выбираем прочую:

Появляется расширенный список выбора языка - выбираем русский:

После появления в основном списке русских раскладок, выбираем самую простую:

Теперь нужно определиться с клавишами переключения раскладок:

Выбираем привычную комбинацию Alt+Shift:

Указываем стандартную для Linux кодировку UTF-8:

Наконец, определяемся со шрифтами - выбираем кириллические славянские:

Окончание настройки запускает установку пакетов.

Selecting previously unselected package kbd.
(Reading database ... 13239 files and directories currently installed.)
Preparing to unpack .../kbd_1.15.5-2_armhf.deb ...
Unpacking kbd (1.15.5-2) ...
Selecting previously unselected package keyboard-configuration.
Preparing to unpack .../keyboard-configuration_1.123_all.deb ...
Unpacking keyboard-configuration (1.123) ...
Selecting previously unselected package console-setup-linux.
Preparing to unpack .../console-setup-linux_1.123_all.deb ...
Unpacking console-setup-linux (1.123) ...
Selecting previously unselected package xkb-data.
Preparing to unpack .../xkb-data_2.12-1_all.deb ...
Unpacking xkb-data (2.12-1) ...
Selecting previously unselected package console-setup.
Preparing to unpack .../console-setup_1.123_all.deb ...
Unpacking console-setup (1.123) ...
Processing triggers for systemd (215-17+deb8u7) ...
Setting up kbd (1.15.5-2) ...
Setting up keyboard-configuration (1.123) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Setting up console-setup-linux (1.123) ...
Setting up xkb-data (2.12-1) ...
Setting up console-setup (1.123) ...
Processing triggers for systemd (215-17+deb8u7) ...

Свернуть

После перезагрузки командой reboot первоначальные шрифты заменяются установленными. Теперь микрокомпьютер русский текст показывает в терминале по-русски:

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

root@shade:~# apt-get install console-cyrillic

Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  libunicode-string-perl
The following NEW packages will be installed:
  console-cyrillic
0 upgraded, 1 newly installed, 0 to remove and 73 not upgraded.
Need to get 300 kB of archives.
After this operation, 2468 kB of additional disk space will be used.
Get:1 http://archive.raspbian.org/raspbian/ jessie/main console-cyrillic all 0.9-16.2 [300 kB]
Fetched 300 kB in 0s (352 kB/s)
Preconfiguring packages ...

Свернуть

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

Комбинацию переключения раскладок оставляем без изменений:

Если вы набираете русский текст и нужно ввести несколько латинских символов или наоборот - то можно воспользоваться временным переключением раскладки любой из клавиш Win

Настройка клавиатуры окончена:

Систему кодировки вводимых символов выбираем в юникоде:

После настройки также происходит установка пакета.

Selecting previously unselected package console-cyrillic. (Reading database ... 14111 files and directories currently installed.) Preparing to unpack .../console-cyrillic_0.9-16.2_all.deb ... Unpacking console-cyrillic (0.9-16.2) ... Processing triggers for systemd (215-17+deb8u7) ... Setting up console-cyrillic (0.9-16.2) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults Processing triggers for systemd (215-17+deb8u7) ...

Свернуть

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

root@shade:~# apt-get install xfonts-cyrillic

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libfontenc1 libfreetype6 libxfont1 x11-common xfonts-encodings xfonts-utils
Suggested packages:
  xfs xserver
The following NEW packages will be installed:
  libfontenc1 libfreetype6 libxfont1 x11-common xfonts-cyrillic
  xfonts-encodings xfonts-utils
0 upgraded, 7 newly installed, 0 to remove and 73 not upgraded.
Need to get 1873 kB of archives.
After this operation, 3149 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.raspbian.org/raspbian/ jessie/main libfontenc1 armhf 1:1.1.2-1 [23.9 kB]
Get:2 http://archive.raspbian.org/raspbian/ jessie/main libfreetype6 armhf 2.5.2-3+deb8u4 [412 kB]
Get:3 http://archive.raspbian.org/raspbian/ jessie/main libxfont1 armhf 1:1.5.1-1+deb8u1 [118 kB]
Get:4 http://archive.raspbian.org/raspbian/ jessie/main x11-common all 1:7.7+7 [287 kB]
Get:5 http://archive.raspbian.org/raspbian/ jessie/main xfonts-encodings all 1:1.0.4-2 [574 kB]
Get:6 http://archive.raspbian.org/raspbian/ jessie/main xfonts-utils armhf 1:7.7+2 [68.8 kB]
Get:7 http://archive.raspbian.org/raspbian/ jessie/main xfonts-cyrillic all 1:1.0.3 [390 kB]
Fetched 1873 kB in 3s (526 kB/s)
Preconfiguring packages ...
Selecting previously unselected package libfontenc1:armhf.
(Reading database ... 14362 files and directories currently installed.)
Preparing to unpack .../libfontenc1_1%3a1.1.2-1_armhf.deb ...
Unpacking libfontenc1:armhf (1:1.1.2-1) ...
Selecting previously unselected package libfreetype6:armhf.
Preparing to unpack .../libfreetype6_2.5.2-3+deb8u4_armhf.deb ...
Unpacking libfreetype6:armhf (2.5.2-3+deb8u4) ...
Selecting previously unselected package libxfont1:armhf.
Preparing to unpack .../libxfont1_1%3a1.5.1-1+deb8u1_armhf.deb ...
Unpacking libxfont1:armhf (1:1.5.1-1+deb8u1) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../x11-common_1%3a7.7+7_all.deb ...
Unpacking x11-common (1:7.7+7) ...
Selecting previously unselected package xfonts-encodings.
Preparing to unpack .../xfonts-encodings_1%3a1.0.4-2_all.deb ...
Unpacking xfonts-encodings (1:1.0.4-2) ...
Selecting previously unselected package xfonts-utils.
Preparing to unpack .../xfonts-utils_1%3a7.7+2_armhf.deb ...
Unpacking xfonts-utils (1:7.7+2) ...
Selecting previously unselected package xfonts-cyrillic.
Preparing to unpack .../xfonts-cyrillic_1%3a1.0.3_all.deb ...
Unpacking xfonts-cyrillic (1:1.0.3) ...
Processing triggers for systemd (215-17+deb8u7) ...
Setting up libfontenc1:armhf (1:1.1.2-1) ...
Setting up libfreetype6:armhf (2.5.2-3+deb8u4) ...
Setting up libxfont1:armhf (1:1.5.1-1+deb8u1) ...
Setting up x11-common (1:7.7+7) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Setting up xfonts-encodings (1:1.0.4-2) ...
Setting up xfonts-utils (1:7.7+2) ...
Setting up xfonts-cyrillic (1:1.0.3) ...
Processing triggers for libc-bin (2.19-18+deb8u10) ...
Processing triggers for systemd (215-17+deb8u7) ...

Свернуть

Несмотря на установленные русские шрифты, системные сообщения микрокомпьютер пока выдаёт на английском языке. Например, проверка объёмов имеющихся дисков командой df всё равно рапортует нам не по-русски!

Нужно локализовать операционную систему микрокопьютера - точнее добавить систему дублирующих русских переводов англоязычных сообщений. Но это не так-то просто - сгенерировать локаль стандартной процедурой не удастся! Микрокомпьютеру для операции создания русского перевода банально не хватит оперативной памяти! При достижении заполнения свыше 67% программная защита ядра системы принудительно остановит прожорливый процесс. Неужто отечественный микрокомпьютер так и не будет писать сообщения по-русски?

Выход из этого затруднительного положения тем не менее есть - придётся установить набор всех имеющихся языков! Целых 117 Мб! Но нам ради родного языка не жалко и большего:

root@shade:~# apt-get install locales-all

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  locales-all
0 upgraded, 1 newly installed, 0 to remove and 73 not upgraded.
Need to get 0 B/3215 kB of archives.
After this operation, 117 MB of additional disk space will be used.
Selecting previously unselected package locales-all.
(Reading database ... 14606 files and directories currently installed.)
Preparing to unpack .../locales-all_2.19-18+deb8u10_armhf.deb ...
Unpacking locales-all (2.19-18+deb8u10) ...
Setting up locales-all (2.19-18+deb8u10) ...

Свернуть

После окончания установки нужно указать системе, что язык системных сообщений - русский. Для этого надо открыть файл /etc/default/locale и дописать в его конце

LANGUAGE=ru_RU:ru

LANG=ru_RU.UTF-8

Напоследок, нужно обязательно перезагрузить микрокомпьютер командой reboot

Теперь микрокомпьютер системные сообщения будет писать по-русски! Команда df выдаёт отчёт на родном мне русском языке!

А переключение раскладки клавишами Alt+Shift позволяет вводить русские сиволы:

Поздравляю! Теперь отечественный микрокомпьютер знает русский!


Благодарю за внимание, доброго здоровья!



Сайт работает на микрокомпьютере