19 августа 2012 в 17:18

Разное → Изменение загрузочной заставки в 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.