Русификация дистрибутива SystemRescueCd

()

SystemRescueCd представляет собой загрузочный Live CD основанный на Linux дистрибутиве Gentoo. Специализацией этого дистрибутива является восстановление данных и работоспособности компьютера после сбоев. Подробнее можно узнать на сайте www.sysresccd.org.

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

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

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

Изменения

Постараюсь подробнее рассказать о внесенных изменениях, которые возможно могут оказаться полезными в дальнейшем совершенствовании дистрибутива. Те кого интересует только вопрос установки русификации могут пропустить этот раздел и перейти к разделу «Установка»

Для русификации консоли использовал собственную юникодную раскладку клавиатуры. Она представляет собой ru_win.map переложенную в юникод и с заменой клавиш переключения клавиатуры на правый control. Для отображения символов на экране я выбрал традиционный для редхатообразных дистрибутивов шрифт LatArCyrHeb-16.

При таком раскладке из-за известной ошибки CapsLock не работает при переключении на русские символы (точнее говоря на символы указанные в формате U+...).

Другой известной проблемой использования юникода в консоли является невозможность отображения жирных (bold) символов. (пруфлин раз, пруфлинк два) Эта ошибка приводит к тому что текущая директория в приглашении командной строки и директории в цветном выводе команды ls показываются в консоли темно-синим цветом на черном фоне. Я решил заменить эту раскраску на cian на синем фоне.

Изменения в цветовую гамму вносятся настройками расположенными в папке new/.zsh и файлом new/.profile. Подробнее о раскраске консоли смотри здесь и здесь.

Выбор языка в консоли и графической оболочке определяется параметром языка при начальной загрузке. Реализующие это скрипты находятся в файле initram.igz. Файл install в прилагаемом архиве добавляет в список раскладку 49 ru-utf и компилирует эту раскладку в бинарный вид понятный для busybox.

Для включения консольного шрифта был использован файл /etc/conf.d/consolefont. В дистрибутиве данный файл не используется стартовыми скриптами. Чтобы избежать редактирования списка запускаемых при включении скриптов я создал обертку setsysfont для программы setfont, которая использует заданную в нем переменную CONSOLEFONT. Запуск этой обертки осуществляется при загрузке из файла /etc/conf.d/local.start, а также после выхода из графического режима чтобы избежать сброса шрифта. Для этого определяется псевдоним startx = startx;setsysfont.

В файле new/.xinitrc добавлена строка для настройки русско-английской раскладки в графическом режиме. Переключение раскладок осуществляется комбинацией ctrl-shift.

Установка

Согласно инструкции монтируем рабочий раздел в /mnt/custom, извлекаем файлы из образа sysrcd.dat. Распаковываем прилагаемый архив в /mnt/custom и запускаем файл install. После окончания его работы переходим к шестому и седьмому шагу инструкции.

Для включения русских настроек необходимо при загрузке указать раскладку ru-utf или ввести ее номер 49. Переключение раскладок в консоли осуществляется правым control, в иксах комбинацией control-shift

Замечания

Я осуществлял сборку образа в VirtualBox. Однако при создании squashfs на основном ядре постоянно происходил сбой. Проблему решает выбор при загрузке ядра altker32.

Приложение

Ключевые слова: SystemRescueCd, cyrillisation, console, unicode, кирилизация, .

Комментарии:

Anonymous 2010-04-25 02:32:42 (#)

ИЗМЕНЕНИЯ
В версии 1.5.2 SystemRescue CD initramfs.igz сжимается с полмощью алгоритма LZMA а загрузочный скрипт "local" убран из уровня загрузки по умолчанию.
Поэтому мне пришлось модифицировать установочный скрипт.
Теперь он работает с initramfs.igz сжатым как lzma, так и gzip. Кроме того исправлено несколько мелких ошибок приводивших к двойной модификации конфигурационных файлов

Также благодаря dutchkind к to /root/.zsh/rc/alias.rc добавлен псевдоним для того, чтобы mc сохранял пути
УСТАНОВКА
Согласно инструкции монтируем рабочий раздел в /mnt/custom, извлекаем файлы из образа sysrcd.dat. Распаковываем прилагаемый архив в /mnt/custom и запускаем файл install3. После окончания его работы переходим к шестому и седьмому шагу инструкции.

Для включения русских настроек необходимо при загрузке указать раскладку ru-utf или ввести ее номер 49. Переключение раскладок в консоли осуществляется правым control, в иксах комбинацией control-shift
ATTACHMENT
install3.tar

Jabberwock 2010-06-06 11:59:20 (#)

ИЗМЕНЕНИЯ
Из-за ошибки с загрузкой бинарных раскладок был добавлен способ обхода этой проблеммы: если при загрузке системы выбрана раскладка 49 или ru-utf тогда раскладка загружается повторно из скритов local или autorun

УСТАНОВКА
Согласно инструкции монтируем рабочий раздел в /mnt/custom, извлекаем файлы из образа sysrcd.dat. Распаковываем прилагаемый архив в /mnt/custom и запускаем файл install4. После окончания его работы переходим к шестому и седьмому шагу инструкции.

Для включения русских настроек необходимо при загрузке указать раскладку ru-utf или ввести ее номер 49. Переключение раскладок в консоли осуществляется правым control, в иксах комбинацией control-shift

ПРИЛОЖЕНИЕ

install4.tar
Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE

Реабилитация от лирики