Plymouth (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Plymouth
. Дата последней синхронизации: 12 апреля 2023. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Тихая загрузка
Plymouth
— это проект Fedora и один из
официальных проектов freedesktop.org
, реализующий графический экран загрузки системы без бегущих надписей (логов) на экране. Он использует
kernel mode setting
(KMS, установка разрешения и глубины цвета на уровне ядра) для обеспечения родного разрешения экрана на раннем этапе загрузки, после чего отображает красивый экран загрузки вплоть до появления менеджера входа.
Подготовка
Plymouth
главным образом использует
KMS
(Kernel Mode Setting) для отображения графики. На EFI/UEFI системах
plymouth
может использовать EFI framebuffer.
Если у вас не настроены ни KMS ни framebuffer, то Plymouth вернётся в текстовый режим.
Установка
Установите
пакет
plymouth
. Разрабатываемая версия доступна в пакете
plymouth-git
AUR
.
По умолчанию Plymouth записывает сообщения загрузки в
/var/log/boot.log
и не показывает графический экран загрузки.
Для отображения графического экрана загрузки добавьте
splash
в
параметры ядра
.
Для обеспечения
тихой загрузки
также добавьте
quiet
.
Для отключения записи лога добавьте
plymouth.nolog
.
Для раннего запуска Plymouth нужно добавить его в
initramfs
.
mkinitcpio
Добавьте
plymouth
в массив
HOOKS
в
mkinitcpio.conf
.
/etc/mkinitcpio.conf
HOOKS=(... plymouth ...)
dracut
После установки Plymouth
dracut
автоматически обнаружит его и добавит в ваши образы initramfs. Если автоопределение не сработало, вы можете заставить dracut добавить Plymouth с помощью следующей строки в конфигурации dracut:
/etc/dracut.conf.d/myflags.conf
add_dracutmodules+=" plymouth "
Настройка
Plymouth настраивается через файл
/etc/plymouth/plymouthd.conf
. Значения по умолчанию описаны в файле
/usr/share/plymouth/plymouthd.defaults
.
Выбор темы
Plymouth поставляется со следующими темами:
BGRT
: Вариант Spinner, который использует OEM-логотип, если он доступен (BGRT означает Boot Graphics Resource Table)
Fade-in
: "Простая тема с затухающими и разгорающимися мерцающими звездами"
Glow
: "Производственная тема, показывающая процесс загрузки в виде круговой диаграммы"
Script
: "Пример скрипта" (Несмотря на описание, выглядит очень симпатичной темой с логотипом Arch)
Solar
: "Космическая тема, голубая звезда с протуберанцами"
Spinner
: "Простая тема с вращающимся индикатором загрузки"
Spinfinity
: "Простая тема, показывающая вращающийся знак бесконечности в центре экрана"
Tribar
: "Текстовый режим с трёхцветной полосой прогресса"
(
Text
: "Текстовый режим с трёхцветной полосой прогресса")
(
Details
: "Резервная тема с подробностями загрузки")
По умолчанию используется тема
bgrt
. Чтобы выбрать другую, пропишите её в настройках, например:
/etc/plymouth/plymouthd.conf
[Daemon]
Theme=fade-in
или выберите тему с помощью команды:
# plymouth-set-default-theme -R
тема
При каждой смене темы необходимо пересобирать
initrd
. Это произойдёт автоматически при выборе темы командой
plymouth-set-default-theme
с опцией
-R
(в противном случае
пересоберите образ initramfs
самостоятельно).
Установка новых тем
Дополнительные темы доступны в
AUR
.
[1]
Также
plymouth-kcm
добавляет интеграцию с настройками KDE Plasma и предлагает темы, отсутствующие в AUR.
Список установленных тем можно получить командой:
$ plymouth-set-default-theme -l
или:
$ ls /usr/share/plymouth/themes
bgrt  details  fade-in  glow  script  solar  spinfinity  spinner  text  tribar
Задержка отображения
Plymouth позволяет добавить задержку перед отображением графического экрана загрузки:
/etc/plymouth/plymouthd.conf
[Daemon]
ShowDelay=5
Если система загружается настолько быстро, что загрузочная анимация успевает лишь моргнуть до запуска DM, можно установить задержку появления экрана загрузки в параметре
ShowDelay
(в секундах) больше чем длительность загрузки системы, чтобы вместо мерцания отображался просто пустой экран. По умолчанию время задержки 0 секунд.
HiDPI
Пропишите коэффициент масштабирования (целое число) в настройках:
/etc/plymouth/plymouthd.conf
DeviceScale=
коэффициент-масштабирования
и пересоберите initrd.
Советы и рекомендации
Отображение сообщений ядра
Чтобы включить отображение сообщений ядра во время загрузки, нажмите
Esc
.
Плавный переход к экранному менеджеру
GDM
поддерживает плавный переход из коробки.
Для других экранных менеджеров можно создать
drop-in файл
для юнита
display-manager.service
:
/etc/systemd/system/display-manager.service.d/plymouth.conf
[Unit]
Conflicts=plymouth-quit.service
After=plymouth-quit.service rc-local.service plymouth-start.service systemd-user-sessions.service
OnFailure=plymouth-quit.service

[Service]
ExecStartPre=-/usr/bin/plymouth deactivate
ExecStartPost=-/usr/bin/sleep 30
ExecStartPost=-/usr/bin/plymouth quit --retain-splash
Предпросмотр тем
Для просмотра тем без перезагрузки и пересборки initrd можно перейти в терминал нажатием
Ctrl+Alt+F6
, войти как root и набрать:
# plymouthd
# plymouth --show-splash
Для выхода из просмотра нажать
Ctrl+Alt+F6
снова и набрать:
# plymouth --quit
Изменение фонового изображения темы
В некоторых темах (таких как spinner и bgrt) можно изменить фоновое изображение. Для этого следует заменить файл
/usr/share/plymouth/themes/
theme
/background-tile.png
на собственный. Во избежание перезаписи изменённой темы при обновлении plymouth, все действия проводите над копией темы.
После изменения не забудьте пересобрать initrd.
Отсутствующее BGRT изображение
Если вы используете тему BGRT, но UEFI не предоставляет логотип производителя, вы можете поместить запасное изображение в
/usr/share/plymouth/themes/spinner/bgrt-fallback.png
.
Замедление загрузки системы для отображения анимации
Если ваша система загружается настолько быстро, что анимация толком не успевает отобразиться, вы можете замедлить загрузку, создав
drop-in файл
для службы
plymouth-quit.service
и добавив туда
ExecStartPre=/usr/bin/sleep 5
.
Смотрите
этот пост на reddit
.
Решение проблем
Отключение параметров ядра
Если у вас возникают проблемы во время загрузки, вы можете временно отключить Plymouth с помощью следующих
параметров ядра
:
plymouth.enable=0 disablehooks=plymouth
Отладка
Для записи отладочных сообщений в
/var/log/plymouth-debug.log
добавьте параметр ядра:
plymouth.debug
Промпт пароля не обновляется
Когда используете
systemd
вместо хука
udev
в
mkinitcpio (Русский)
, промпт пароля может не обновляться при использовании тем, которые для этого используют скрипты Plymouth.
Смотрите также
Оригинальная спецификация
Обсуждение на форуме
Gentoo:Plymouth/Theme creation