Plymouth (Русский)
Plymouth — это проект из Fedora, обеспечивающий загрузку системы без бегущих надписей (логов) на экране. Он базируется на kernel mode setting (KMS, установка разрешения и глубины цвета на уровне ядра) для обеспечения родного разрешения экрана на раннем этапе загрузки, после чего отображает привлекательный загрузочный экран вплоть до этапа выбора пользователя.
Contents |
Подготовка
Plymouth главным образом использует KMS для обработки графики. Если вы знаете что это такое и уже настроили, смело переходите к Установка.
В противном случае у вас есть два варианта:
- Установить и настроить KMS: пожалуйста, обратитесь к инструкциям для видеокарт ATI, Intel или Nvidia. Все они требуют редактирования/пересборки ядра. Это будет описано позже в этой статье, поэтому редактирование образа ядра пока может быть пропущено.
- Несмотря на то, что использование KMS предпочтительно, Plymouth может работать без них. Если у вас нет возможности использовать KMS, то вам понадобится framebuffer. Рекомендуется использовать драйвер Uvesafb, так как он поддерживает разрешения широкоформатных дисплеев.
Если у вас не настроены ни KMS ни framebuffer, то Plymouth вернется в текстовый режим.
Установка
Plymouth пока недоступен в официальных репозиториях и должен быть установлен из AUR.
Стабильная версия называется plymouth, последний стабильный релиз был в июле 2012 года [1], но можно использовать версию plymouth-git.
Конфигурация
Включение Plymouth в Initcpio
Добавьте Plymouth в HOOKS в mkinitcpio.conf. Он обязательно должен быть добавлен после base, udev и autodetect:
/etc/mkinitcpio.conf
HOOKS="base udev autodetect [...] plymouth"
Для более раннего запуска KMS надо добавить модуль radeon (для видеокарт radeon), i915 (для видеокарт Intel) или nouveau (для видеокарт nvidia) в строку MODULES в /etc/mkinitcpio.conf:
/etc/mkinitcpio.conf
MODULES="i915" или MODULES="radeon" или MODULES="nouveau"
Переконфигурация образа ядра (см. статью mkinitcpio для более детальной информации):
# mkinitcpio -p [имя вашего ядра]
Командная строка ядра
Неоходимо установить quiet splash режим ядра в параметрах командной линии загрузчика. Ниже пример для Grub2 и /boot/grub/grub.cfg (для Grub и Lilo шаблон аналогичен):
linux /boot/vmlinuz-linux root=/dev/... ro quiet splash
Можно заставить KMS принудительно запускаться раньше добавив "radeon.modeset=1" (для видеокарт radeon) or "i915.modeset=1" (для видеокарт Intel) в опции ядра:
linux /boot/vmlinuz-linux root=/dev/... radeon.modeset=1
linux /boot/vmlinuz-linux root=/dev/... i915.modeset=1
Так же можно отредактировать файл /etc/default/grub и добавить опции ядра в строке GRUB_CMDLINE_LINUX_DEFAULT="". Чтобы сгенерировать grub.cfg выполните:
# grub-mkconfig -o /boot/grub/grub.cfg
Изменение темы
Plymouth имеет на выбор темы:
- Fade-in: "Простая тема с затухающими и разгорающимися мерцающими звездами"
- Glow: "Производственная тема, показывающая процесс загрузки в виде круговой диаграммы"
- Script: "Пример скрипта" (Несмотря на описание выглядит очень симпатичной темой Arch)
- Solar: "Космическая тема, голубая звезда с протуберанцами" and
- Spinfinity: "Простая тема показывающая вращающийся знак бесконечности в центре экрана"
- (Text: "Текстовый режим с трехцветной полосой прогресса")
- (Details: "Резервная тема с подробностями загрузки")
Список установленных тем можно вызвать командой:
plymouth-set-default-theme -l
Для просмотра тем без перезагрузки. Нажать Ctrl+Alt+F2 для переключения консоли, войти как root и набрать:
plymouthd plymouth --show-splash
Для выхода из просмотра нажать Ctrl+Alt+F2 снова и набрать:
plymouth --quit
Установить желаемую тему можно утилитой plymouth-set-default-theme, например:
# plymouth-set-default-theme spinfinity
Соберите образ ядра:
# mkinitcpio -p [name of your kernel preset]
Перезагрузитесь.
Устранение неполадок
Маленькие черные квадраты
По каким-то причинам после выполнения команды выйти, Plymouth может оставить черные квадраты вверху экрана видимые поверх всех окон. Два подтвержденных случая, это ноутбук с видеокартой ATI при использовании KMS, и десктоп с видеокартой nVidia использующий framebuffer. Источником проблемы является опция --retain-splash , которая требуется для максимально плавного отображения в процессе загрузки. Обходным путем является принудительное закрытие Plymouth после логина, когда опция --retain-splashболее не требуется.
Нужно отредактировать ~/.xinitrc и добавить следующую линию перед линией запускающей менеджер окружения рабочего стола (подобной "exec openbox-session") чтобы выключить Plymouth:
sudo /bin/plymouth quit &
Чтобы получить разрешение на принудительное отключение Plymouth без пароля, нужно отредактировать /etc/sudoers:
$ su # EDITOR=nano visudo
и добавить:
Ваш_Логин ALL=(ALL) NOPASSWD: /bin/plymouth
После этого необходимо перезагрузиться.
Выключение <-- Все еще проблема?
Если имеется проблема с выключением Power Off, к примеру компьютер перезагружается вместо выключения, причиной может быть или KMS или Plymouth. Если причина в Plymouth, то необходимо или запустить "plymouth --mode ..." в случае перезагрузки или halt или отредактировать /etc/rc.d/functions.d/plymouth.functions и закомментировать следующий блок:
if [ "$0" == "/etc/rc.shutdown" ]; then ... fi