Jump to content
From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Plymouth. Дата последней синхронизации: 12 апреля 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Ссылки по теме

- Тихая загрузка

Plymouth — это проект Fedora и один из официальных проектов freedesktop.org, реализующий графический экран загрузки системы без бегущих надписей (логов) на экране. Он использует kernel mode setting (KMS, установка разрешения и глубины цвета на уровне ядра) для обеспечения родного разрешения экрана на раннем этапе загрузки, после чего отображает красивый экран загрузки вплоть до появления менеджера входа.

## Подготовка

Plymouth главным образом использует KMS (Kernel Mode Setting) для отображения графики. На EFI/UEFI системах plymouth может использовать EFI framebuffer.

Если вы не можете использовать KMS, например, из-за использования проприетарного драйвера или не хотите использовать EFI framebuffer, обратите внимание на Uvesafb, поскольку он поддерживает широкоформатные разрешения. Если у вас не настроены ни KMS ни framebuffer, то Plymouth вернётся в текстовый режим.

## Установка

Установите пакет plymouth. Разрабатываемая версия доступна в пакете plymouth-gitAUR.

По умолчанию 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 поставляется со следующими темами:

1. BGRT: Вариант Spinner, который использует OEM-логотип, если он доступен (BGRT означает Boot Graphics Resource Table)
2. Fade-in: "Простая тема с затухающими и разгорающимися мерцающими звездами"
3. Glow: "Производственная тема, показывающая процесс загрузки в виде круговой диаграммы"
4. Script: "Пример скрипта" (Несмотря на описание, выглядит очень симпатичной темой с логотипом Arch)
5. Solar: "Космическая тема, голубая звезда с протуберанцами"
6. Spinner: "Простая тема с вращающимся индикатором загрузки"
7. Spinfinity: "Простая тема, показывающая вращающийся знак бесконечности в центре экрана"
8. Tribar: "Текстовый режим с трёхцветной полосой прогресса"
9. (Text: "Текстовый режим с трёхцветной полосой прогресса")
10. (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

## Смотрите также

- Оригинальная спецификация
- Обсуждение на форуме

Category:

- Bootsplash (Русский)