Установка русских шрифтов и русского языка |
Здравствуйте, уважаемые читатели! Пора наконец-то установить русский язык на микрокомпьютер 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 позволяет вводить русские сиволы:
Поздравляю! Теперь отечественный микрокомпьютер знает русский!
Благодарю за внимание, доброго здоровья!
Сайт работает на микрокомпьютере