Plymouth (Русский)
Plymouth — это проект из Fedora, обеспечивающий загрузку системы без бегущих надписей (логов) на экране. Он базируется на kernel mode setting (KMS, установка разрешения и глубины цвета на уровне ядра) для обеспечения родного разрешения экрана на раннем этапе загрузки, после чего отображает привлекательный загрузочный экран вплоть до этапа выбора пользователя.
Contents
Подготовка
Plymouth главным образом использует KMS для обработки графики. Если вы знаете что это такое и уже настроили, смело переходите к Установка.
В противном случае у вас есть два варианта:
- Установить и настроить KMS: пожалуйста, обратитесь к инструкциям для видеокарт ATI[broken link: invalid section], Intel[broken link: invalid section] или Nvidia[broken link: invalid section]. Все они требуют редактирования/пересборки ядра. Это будет описано позже в этой статье, поэтому редактирование образа ядра пока может быть пропущено.
- Несмотря на то, что использование KMS предпочтительно, Plymouth может работать без них. Если у вас нет возможности использовать KMS, то вам понадобится framebuffer[broken link: invalid section]. Рекомендуется использовать драйвер Uvesafb, так как он поддерживает разрешения широкоформатных дисплеев.
Если у вас не настроены ни KMS ни framebuffer, то Plymouth вернется в текстовый режим.
Установка
Plymouth пока недоступен в официальных репозиториях и должен быть установлен из AUR.
Стабильная версия называется plymouthAUR, последний стабильный релиз был в июле 2012 года [1], но можно использовать версию plymouth-gitAUR.
Конфигурация
Включение 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