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.
Anonymous 2010-04-25 02:32:42 (#)
В версии 1.5.2 SystemRescue CD initramfs.igz сжимается с полмощью алгоритма LZMA а загрузочный скрипт "local" убран из уровня загрузки по умолчанию.
Поэтому мне пришлось модифицировать установочный скрипт.
Теперь он работает с initramfs.igz сжатым как lzma, так и gzip. Кроме того исправлено несколько мелких ошибок приводивших к двойной модификации конфигурационных файлов
Также благодаря [URL=http://www.sysresccd.org/forums/viewtopic.php?f=3&t=3045&sid=b7a02b27d1b2418bba5290aed4d2004b]dutchkind[/URl] к to /root/.zsh/rc/alias.rc добавлен псевдоним для того, чтобы mc сохранял пути
УСТАНОВКА
Согласно инструкции монтируем рабочий раздел в /mnt/custom, извлекаем файлы из образа sysrcd.dat. Распаковываем прилагаемый архив в /mnt/custom и запускаем файл install3. После окончания его работы переходим к шестому и седьмому шагу инструкции.
Для включения русских настроек необходимо при загрузке указать раскладку ru-utf или ввести ее номер 49. Переключение раскладок в консоли осуществляется правым control, в иксах комбинацией control-shift
ATTACHMENT
[URL=http://rapidshare.com/files/379765056/install3.tar]install3.tar[/URL]