Изменение загрузочного экрана Linux с помощью Plymouth
Что такое Plymouth?
Plymouth — это система отображения графического загрузочного экрана в большинстве современных дистрибутивов Linux. Простыми словами: это то, что вы видите до того, как загрузится полнофункциональная графическая сессия. Plymouth умеет показывать анимации и индикаторы прогресса без запуска X/Wayland, поэтому экран может отображаться очень рано в процессе загрузки.
Короткая справка: до Plymouth некоторые дистрибутивы использовали альтернативы (например, xsplash в Ubuntu). Они отличались архитектурой и возможностями, поэтому инструкции для них не применимы к Plymouth.
Где найти тему и как её установить
- Поиск тем:
- В репозиториях вашего дистрибутива ищите пакеты с именем, содержащим plymouth-theme.
- На сайтах с коллекциями тем (GitHub, GitLab, форумы) чаще всего темы поставляются в виде пакета (.deb, .rpm) или архива с инструкцией.
- Установка:
- Через пакетный менеджер: dnf/apt/pacman и т. п.
- Если тема в архиве: следуйте README в архиве (обычно копирование в /usr/share/plymouth/themes и регистрация).
Важно: если тема не поставляется ни как пакет, ни с понятной инструкцией, её установка может быть ненадёжной. Откатывайте изменения и сохраняйте резервные копии перед экспериментами.
Как включить тему
Список доступных тем покажет команда:
sudo plymouth-set-default-theme --listПосле этого выберите нужное имя темы и примените её. Команда самая надёжная — с правильным именем темы и обязательной пересборкой initrd:
sudo plymouth-set-default-theme <имя_темы> --rebuild-initrdПример:
sudo plymouth-set-default-theme hot-dog --rebuild-initrdПояснение: флаг –rebuild-initrd обновляет образ initrd/initramfs, чтобы новые файлы темы попали в раннюю стадию загрузки. Без этого изменения могут остаться только в конфигурации и не отобразиться при старте системы.
Финал: перезагрузка и проверка
Подождите завершения команды и перезагрузите систему. Если вы видите новую тему — всё готово. Если нет — см. разделы «Устранение проблем» и «Когда это не сработает».
Устранение проблем и отладка
- Проверка содержимого initramfs: убедитесь, что в образе присутствуют файлы темы. Например, в Debian/Ubuntu используйте update-initramfs и посмотрите содержимое:
sudo update-initramfs -u
lsinitramfs /boot/initrd.img-$(uname -r) | grep plymouth- Логи: dmesg и системный журнал (journalctl -b) помогут найти ошибки на ранней стадии загрузки.
- Видео-драйверы: некоторые проприетарные драйверы (особенно в настройках с ранней инициализацией графики) могут конфликтовать с отображением Plymouth.
- Консольный режим: если на момент загрузки включена только текстовая консоль, тема с графикой может не отображаться.
Important: всегда держите под рукой способ загрузиться в rescue/ recovery mode или доступ к TTY (Ctrl+Alt+F2), чтобы отменить изменения, если система не проходит загрузку.
Когда это не сработает (контрпримеры)
- Дистрибутив не использует Plymouth (редко, но бывает) — инструкции не применимы.
- Установлены нестандартные initramfs-генераторы или кастомные скрипты, которые перезаписывают initrd без темы.
- Очень старые системы без поддержки framebuffer/early KMS не смогут корректно отобразить графическую тему.
Альтернативные подходы
- Использовать минималистичный текстовый скелет загрузки — простой и лёгкий путь, если графика не нужна.
- Создать свою тему: если вы умеете писать простые сцены на shell+script-элементах, можно оформить уникальный интерфейс.
- Заменить Plymouth на альтернативные проекты — это редко оправдано, но возможно для экспериментальных целей.
Быстрый чеклист перед изменением (Playbook)
- Сделать резервную копию текущего initrd и конфигурации: sudo cp /boot/initrd.img-$(uname -r) /boot/initrd-backup.img
- Установить тему через пакетный менеджер.
- Просмотреть список тем: sudo plymouth-set-default-theme –list
- Применить тему: sudo plymouth-set-default-theme <имя> –rebuild-initrd
- Обновить initramfs (при необходимости вручную) и перезагрузить.
- Если проблема — загрузиться в recovery и вернуть initrd из резервной копии.
Роли: список задач для пользователей и администраторов
- Обычный пользователь:
- Найти понравившуюся тему.
- Попросить администратора установить тему (если нет прав sudo).
- Системный администратор:
- Проверить совместимость темы с версией initramfs и драйверами.
- Сделать резервную копию образа initrd перед изменением.
- Тестировать тему на тестовой машине перед массовым развёртыванием.
Критерии приёмки
- Тема отображается при обычной загрузке без видимых артефактов.
- Индикатор прогресса отражает реальное время загрузки (не зависает визуально).
- Система способна загрузиться в графическую среду и в консольный режим.
Ментальные модели и советы
- «Тема» = интерфейс + скрипты + ресурсы. Если один элемент отсутствует, тема не загрузится.
- Всегда думайте об откате: простое копирование initrd и наличие режима восстановления минимизируют риск.
Малый справочник (1‑строчная глоссарий)
- initrd/initramfs — ранний файловый образ, загружаемый ядром для инициализации системы перед монтированием корневой FS.
- KMS — kernel mode setting, ранняя инициализация видеодрайвера для корректного вывода на экран.
Примеры тестов и критериев приёмки
- Перезагрузить 5 раз подряд — тема стабильно отображается не менее чем в 4 из 5 запусков.
- Отключить сеть и сменить тему — убедиться, что локальные ресурсы темы попали в initrd.
Диаграмма принятия решения
flowchart TD
A[Нужен графический загрузочный экран?] -->|Да| B{Plymouth установлен?}
B -->|Да| C[Поиск и установка темы]
B -->|Нет| D[Установить Plymouth через пакетный менеджер]
C --> E[Применить тему с --rebuild-initrd]
E --> F[Перезагрузить и проверить]
F -->|Проблемы| G[Откат initrd и отладка логов]
F -->|ОК| H[Готово]Риски и смягчение
- Риск: система не проходит загрузку после изменения.
- Смягчение: резервная копия initrd и доступ к режиму восстановления.
- Риск: тема использует внешние ресурсы (сеть).
- Смягчение: предварительная упаковка ресурсов в initrd.
FAQ
Q: Нужно ли удалять старые темы?
A: Нет, но при желании можно удалить пакеты с темами через пакетный менеджер.
Q: Изменится ли логотип дистрибутива?
A: Да, если тема заменяет стандартный ресурс — он будет виден вместо логотипа.
Q: Могу ли я создать тему сам?
A: Да. Темы состоят из простых скриптов и ресурсов. Ознакомьтесь с примерами в /usr/share/plymouth/themes.
Краткое резюме:
- Plymouth — стандарт для графических загрузочных экранов.
- Процесс: найти тему → установить → plymouth-set-default-theme <имя> –rebuild-initrd → перезагрузка.
- Обязательно делайте резервную копию initrd и тестируйте на отдельной машине при массовом развёртывании.
Если у вас осталось вопрос или вы хотите подходящую тему для вашего дистрибутива — скажите, какой дистрибутив и версию ядра вы используете, и я подскажу варианты и шаги.
Похожие материалы
Асинхронное программирование в JavaScript
YouTube Gaming, набор Google и вопросы приватности
Разбить диск в Windows 10 через DiskPart
Контекстные менеджеры в Python — руководство
Добавить фото и видео в Highlights без спама