Книга: Погружение в Salix
Доводка консольного режима: русификация вывода
Доводка консольного режима: русификация вывода
Сразу после установки Salix'а символов кириллицы в консоли не увидеть, хотя на стадии инсталляции была установлена русскую локаль, что можно проверить так:
$ localeLANG=ru_RU.utf8 LC_CTYPE="ru_RU.utf8"LC_NUMERIC="ru_RU.utf8" LC_TIME="ru_RU.utf8" LC_COLLATE=C LC_MONETARY="ru_RU.utf8" LC_MESSAGES="ru_RU.utf8" LC_PAPER="ru_RU.utf8" LC_NAME="ru_RU.utf8" LC_ADDRESS="ru_RU.utf8" LC_TELEPHONE="ru_RU.utf8" LC_MEASUREMENT="ru_RU.utf8" LC_IDENTIFICATION="ru_RU.utf8" LC_ALL=
И, следовательно, вывод команд, где это возможно, должен выводиться по русски. Например, на команду
$ date
Должно последовать такое:
Cp мaй 7 17:01:36 MSK 2014
Однако пока вместо русских букв будут одни залитые квадратики. Ибо, хотя система и делает вид, что загружает шрифты с символами кириллицы, делает она это неправильно.
За загрузку консольных шрифтов отвечает файл rc.font
из того же каталога /etc/rc.d
. Сразу после установки она содержит единственную строку:
unicode_start ter-v16n
Это наследие давних времён зари юникодизации Linux-консоли, и ныне не работает. Так что смело удаляем её, а взамен вписываем такую:
setfont -v ter-v22b
где -v
– опция, обеспечивающая вывод сообщения о загрузке шрифта, а ter-v22b
– имя шрифтового файла. Все файлы шрифтов содержатся в каталоге /usr/share/kbd/consolefonts
, но не все имеющиеся там шрифты содержат символы кириллицы. Шрифты семейства Terminus – содержат, и к тому же имеются всех мыслимых размеров (от 8x12 до 12x32, так что каждый может подобрать размер по глазам), двух шрифтоначертаний (для LCD-мониторов рекомендуется полужирное – отсюда литера b в имени файла), да ещё и включают таблицу перекодировки внутреннего 16-битного представления во внешнее 8-битное.
Сделанного достаточно, в чём легко убедиться, запустив rc.font
на исполнение, которое, благодаря опции -v
, выведет на экран такое сообщение:
3aгpyжaeтcя 512-cимвoл шpифтa 11x22 из фaйлa /usr/share/kbd/consolefonts/ter-v22b.psf.gz3aгpyжaeтcя юни?oднaя тaблицa oтoбpaжeния...
Впрочем, изменение шрифта можно будет уловить органолептически, без всяких сообщений. Ну а особо недоверчивые могут ещё и выполнить затем команду date
, которая русским по чёрному сообщит о текущем дне неделе и месяце.
Ещё раз повторяю: никаких дополнительных телодвижений, которые можно встретить в сетевых описаниях, типа старта/стопа режима unicode
, загрузки карты соответствия и вывода на все консоли так называемой «магической последовательности», ныне не нужно. Разве что что при использовании старых шрифтов, без собственной карты – но нынче в них нет ни малейшей необходимости: шрифты семейства Terminus
покрывают почти все потребности применителей. Ну а тем, которые с претензиями, остаются ещё и шрифты типа LatArCyrHeb
, LatGrkCyr
и LatKaCyrHeb
(между нами говоря, вполне уродливые, но зато содержащие символы не только латиницы и кириллицы, но и некоторых более иных алфавитов).
Теперь для полноты счастья остаётся только обеспечивать и ввод символов кириллицы – например, чтобы комментировать свои конфиги и скрипты на языке родных осин. Этим делом ведает файл /etc/rc.d/rc.keymap
, который по умолчанию выглядит так:
#!/bin/sh# Load the keyboard map. More maps are in /usr/share/kbd/keymaps. if [ -x /usr/bin/loadkeys ]; then /usr/bin/loadkeys -u us fi
Здесь достаточно заменить английско-американскую раскладку us
на любую подходящую кириллическую, список которых можно просмотреть так:
$ ls ls /usr/share/kbd/keymaps/i386/qwerty/ru*
Например, на такую:
if [ -x /usr/bin/loadkeys ]; then /usr/bin/loadkeys -u ruwin_cplk-UTF-8
Это русская раскладка для кодировки UTF-8, соответствующая варианту winkeys из Иксов, с переключением латиница/кириллица клавишей CapsLock. Тем же, кто когда-то учился печатать на пишущей машинке, и так и не смог привыкнуть к маразму под названием «вариант winkeys», могу предложить мою раскладку, соответствующую иксовому варианту Typewrite Legacy – ru-type-legacy_cplk-UTF-8
. Соответственно, вторая строка в rc.keymap
приобретут такой вид:
/usr/bin/loadkeys -u ru-type-legacy_cplk-UTF-8
Впрочем, ностальгия по временам, когда «Эрика даёт четыре копиии» – не единственная причина для применения применения этой «старомодной» раскладки: знаки препинания на нижнем регистре (инвертированно с цифрами) зело способствуют скорости печати. А для массового ввода цифири NumPad ещё не запретили.
- Искоренение кириллицы из домашнего каталога
- Доводка консольного режима: включение мыши в консоли
- Доводка консольного режима: русификация вывода
- Thunar и архивы
- Thunar и права root’а
- Thunar и поиск файлов
- Thunar и Яндекс.Диск
- Шпаргалки по установке пакетов: gThumb
- Шпаргалки по установке пакетов: GPRename
- Шпаргалки по установке пакетов: Chromium
- Шпаргалки по установке пакетов: Мультимедиа
- Шпаргалки по установке пакетов: выпадающий терминал Tilda
- Шпаргалки по установке пакетов: VirtualBox
- Шпаргалки по установке пакетов: Komodo Editor
- Dolphin и Root
- Поддержка f2fs и nilfs2
- Поддержка ZFS
- Включение и отключение синхронного вывода
- 2.6. Термостабилизация режима каскада на биполярном транзисторе
- 2. Правила вывода Армстронга
- 3. Производные правила вывода
- 1.6 Драйверы и буферы ввода-вывода
- Глава 6 BIOS – базовая система ввода-вывода
- Рис. 94. Разрешить использование спящего режима.
- 3.4.1. Смена режима
- 6.2. Модели ввода-вывода
- Устройство ввода-вывода
- Лекция 9. Средства ввода-вывода
- 9.4.3.3. Работа с флагами статуса файла и режимами доступа