Изменение загрузочной заставки в Ubuntu

Начиная с версии 10.04 в Ubuntu используется графический загрузчик plymouth. Именно он и рисует красивую анимацию при загрузки системы. О том, как изменить стандартный логотип Ubuntu перед тёмно-фиолетовым фоном на другие красивости, читайте дальше в этой статье. Непосредственно загрузчик Plymouth установлен в системе по умолчанию в папке /lib/plymouth, проверить это можно комадной plymouth --get-splash-plugin-path

Установка новых тем


Папка с темами для загрузки находится соответственно в /lib/plymouth/themes/
Открываем её. Тем, прямо скажем, негусто. Давайте для начала установим дополнительные готовые темы. Открываем Центр приложений или Synaptic, вводим plymouth-theme. Система выводит список тем для загрузки. Выбираем все с названием вида plymouth-theme-имя.
После успешной установки выполняем в терминале:
sudo update-alternatives --config default.plymouth

и видим список установленных нами тем. Можно выбрать любую, введя её номер. Я выбрал Solar:

image

После успешного применения изменений, необходимо переконфигурировать образ загрузки системы. Для этого выполняем:
sudo update-initramfs - u

На этом всё. Новая заставка успешно применена.

Для возврата в стандартной выполните:
sudo update-alternatives --auto default.plymouth
sudo update-initramfs - u


Создание собственных тем


Теперь немного о создании собственных тем загрузки.

Все файлы, связанные с темой загрузки находятся в каталоге /lib/plymouth/themes/имя_темы
За описание отвечает файл имя_темы.plymouth
За красивую анимацию отвечает скрипт имя_темы.plymouth

Давайте попробуем создать простую тему загрузки. Для этого создаём каталог /lib/plymouth/themes/theme_name
В созданный каталог помещаем фон темы под именем wallpaper.png
В терминале выполняем:
sudo gedit /lib/plymouth/themes/theme_name/theme_name.plymouth

и вставляем следующее:
[Plymouth Theme]
Name=Theme_name
Description=Wallpaper only
ModuleName=script

[script]
ImageDir=/lib/plymouth/themes/theme_name
ScriptFile=/lib/plymouth/themes/simple/theme_name.script

Далее выполняем:
sudo gedit /lib/plymouth/themes/theme_name/theme_name.script

и вставляем:
wallpaper_image = Image(«wallpaper.png»);
screen_width = Window.GetWidth();
screen_height = Window.GetHeight();
resized_wallpaper_image = wallpaper_image.Scale(screen_width,screen_height);
wallpaper_sprite = Sprite(resized_wallpaper_image);
wallpaper_sprite.SetZ(-100);

Для установки новой темы выполняем:
sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/theme_name/theme_name.plymouth 10

Теперь тему можно выбрать стандартным способом с помощью update-alternatives --config default.plymouth
После выполнения этой команды тему можно увидеть при выключении системы, для установки этой темы в качестве загрузочной выполняем update-initramfs — u от имени суперпользователя.

Итак, мы создали простую статичную заставку. Для создании динамичной анимации необходимо глубокой знание синтаксиса скриптов для plymouth, а подобных документов в сети я не нашёл. Поэтому я поступил проще и сделал несколько заставок на основе имеющихся. Например, вот такую:

image

Для создания темы выполняем:
sudo apt-get install plymouth-theme-script

В систему будет установлена тема с простым скриптом для загрузки.
Далее выполняем:
sudo gedit /lib/plymouth/themes/script/script.script

В тексте ищем Window.SetBackgroundTopColor (0.16, 0.00, 0.12) и меняем значения на нужный цвет фона, например черный:
Window.SetBackgroundTopColor (0.0, 0.00, 0.0);
А строчку Window.SetBackgroundBottomColor просто закомментируем.
Сохраняем и применяем тему командами, описанными выше.

Следующая заставка основана на стандарной, в ней заменён фон:

image

Для начала создаем в каталоге /lib/plymouth/themes/ новую папку, например green. Копируем в неё все файлы из каталога ubuntu-logo
Копируем в папку green свой фон wallpaper.png (расширение обязательно Png!)
В папке green переименовываем ubuntu-logo.plymouth в green.plymouth и заменяем содержание на
[Plymouth Theme]
Name=Green
Description=A simple green theme
ModuleName=script

[script]
ImageDir=/lib/plymouth/themes/green
ScriptFile=/lib/plymouth/themes/script/green.script


Переименовываем ubuntu-logo.script в green.script. Открываем этот файл, находим и коментируем строчки:
Window.SetBackgroundTopColor (0.16, 0.00, 0.12);
Window.SetBackgroundBottomColor (0.16, 0.00, 0.12);

После них вставляем:
wallpaper_image = Image(«wallpaper.png»);
screen_width = Window.GetWidth();
screen_height = Window.GetHeight();
resized_wallpaper_image = wallpaper_image.Scale(screen_width,screen_height);
wallpaper_sprite = Sprite(resized_wallpaper_image);
wallpaper_sprite.SetZ(-100);


Сохраняем файл.
Устанавливаем тему командой
 sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/green/green.plymouth 10


Теперь новую тему можно выбрать стандартным способом.

Links

Статья на русском о выборе заставки
Статья на английском о создании заставок

Все перечисленные действия выполнены мною в системе Ubuntu 10.10 без проблем и ошибок. Если у Вас что-либо не получилось — это исключительно вмешательство высших сил.

PS Да, я буду рад получить ссылки на полный синтаксис скриптов для plymouth.
Tags:
ubuntu, plymouth

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.