16:50 

ещё один гайд по bootscreening through plymouth

Noxilie
futurum est iam
Вы линуксоид и по какой-то неизвестной причине вам внезапно захотелось лицезреть красивый бутскрин.

Также, по какой-то странной причине, вы решили использовать для ваших целей plymouth.


Что же по сути такое бутскрин? Это небольшая программа, которая запускается где-то на ранних этапах инициализации и отображает на ваш экран красивую картинку с логотипом ос и индикатором загрузки. Plymouth одна из таких программ. (Их не так уж и много кстати)

Предположим, что вы уже использовали свой любимый пакетный менеджер чтобы установить plymouth. (или собрали все из сырцов, или получили работащий plymouth вместе с дистрибутивом системы).

Итак, у вас есть plymouth, ваш любимый текстовый редактор, немного энтузиазма и административные права. Что дальше? А дальше нам хорошо бы иметь plymouth-x11, пакет который сильно облегчит нам жизнь. Это небольшой рендерер, который можно использовать для просмотра бутскрина в х-сессии. И никаких лишних перезагрузок.

Установили, зпускаем... всё требует адинистративных прав!!! если вы судоер, то не забываем про sudo
plymouthd --no-daemon запустили демон без демона... (.
plymouth --show-splash любуемся текущим бутскрином. Если полюбоваться не получается, то, либо у вас не запустился демон(см. предыдущий шаг), либо не хватает прав, либо вы не поставили plymouth-x11, либо одно из трёх.
plymouth --quit закончили упражнение, переходим к вводным процедурам.

Может так случиться, что во время установки х-рендерера, вы заметили, что среди plymouth пакетов есть некие темы (plymouth-theme-...) Их вполне можно установить для ознакомления. Нет, правда, их стоит установить для ознакомления (.

Они бывают двух типов: бутскрины основанные на плагинах и бутскрины основанные на скриптах. Первые от вторых отличаются тем, что когда plymouth только появился, все темы писались на C (ога.. все три), и потом компилировались в плагины. Потом кому-то из разработчиков пришлов голову, что как-то не юзер-френдли это, заниматься пре-компиляцией бутскрин-тем. Ну и ввели новую фичу - тема-скрипт. Скриптование мы с вами тут и рассмотрим. А plymouth-theme-sсript мы будем препарировать. Так что установите себе её.

Установили? Очень хорошо. Идем в /lib/plymouth/themes/. (или /usr/share/plymouth/themes/ --- все зависит от вашего дистрибутива ос) Тут хрянятся все установленные темы. Если вы-таки установили plymouth-theme-sсript, то среди директорий в этой папке вы найдете директорию под названием sсript. Сделайте копию этой директории и назовите её "как-нибудь по особенному" (например - mytheme).

Внутри директории лежат несколько png изображений и файлы: sсript.plymouth и sсript.sсriрt. Переименуйте эти два файла в виде имяВашейТемы.тип Например: mytheme.plymouth mytheme.sсriрt

Теперь открываем вашим любимым редактором mytheme.plymouth. И видим там следующее:

[Plymouth Theme]
Name=sсriрt
Description=sсript plugin. not much here atm
ModuleName=sсriрt

[sсript]
ImageDir=/lib/plymouth/themes/sсriрt
ScriptFile=/lib/plymouth/themes/tilvin/sсriрt.sсript


Это "заголовочный" файл вашей темы. Его необходимо привести в соответствие, тоесть поправить поля: Name, ImageDir, ScriptFile. В случае, если вы действительно назвали тему mytheme, то у вас должно получиться что-то вроде этого:


[Plymouth Theme]
Name=mytheme
Description=sсript plugin. not much here atm
ModuleName=sсriрt

[sсript]
ImageDir=/lib/plymouth/themes/mytheme
ScriptFile=/lib/plymouth/themes/mytheme/mytheme.sсriрt


Сохраняем файл, закрываем и идем править mytheme.sсriрt. И видим... длинную простыню скрипта. Тут стоит задуматься - а что, собственно, мы хотим видить на нашем бутскрине? Предположим вы ответили примерно так: хочу видеть свой супер-мега-логотип... да еще чтобы мигал. Нет проблем. Логотип сохраняем в png (увы, но plymoth умеет работать только с png графикой) и помещаем в директорию вашей темы (/lib/plymouth/themes/mytheme/mysuperlogo.png). Теперь осталось только заменить несколько строк в скрипте, и в общем-то ваш уникальный бутскрин готов. Приступимс...

Обратите внимание на строки в самом начале скрипта:
logo.image = Image("special://logo");
logo.sprite = Sprite(logo.image);


В первой строке мы инициализируем объект типа image дефолтной картинкой для дистрибутива "special://logo". Но мы же хотим видеть своё лого, не так ли?)

Правим:
logo.image = Image("mysuperlogo.png");

да, вам может вдруг захотеться вместо логотипа вывести какую-нибудь фразу...
тогда строка будет выглядеть так:
logo.image = Image(Image.Text ("Слава роботам!!!"));


Вторая строка создает из инициализированной картинки спрайт. Да, plymouth работает со спрайтами.

Всё, сохраняем файл.

Тему создали, заголовок поправили, скрипт изменили. Теперь новую тему необходимо установить. В большинстве случаев, вам поможет утилита идущая в комлекте с plymouth - plymouth-set-default-theme
чтобы отобразить список всех тем вводим:
plymouth-set-default-theme --list
чтобы установить:
plymouth-set-default-theme mytheme

однако, если вы используете какой-нибудь debian дистрибутив (например ubuntu), вам помогут следующие комманды:
установим:
sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/mytheme/mytheme.plymouth 100
выберем из установленных нашу тему:
sudo update-alternatives --config default.plymouth

Теперь самое время полюбоваться вашим уникальным бутскрином:
plymouthd --no-daemon
plymouth --show-splash


Если всё хорошо, обновим рамфс:
sudo update-initramfs -u

That's all.

полезные материалы:
http://brej.org/blog/?cat=16 - хороший пошаговый гайд к plymouth

http://www.ubuntugeek.com/quick-tipplymouth-themes-in-ubuntu-10-04-lucid-lynx.html - хау-ту от убунтугик

http://www.freedesktop.org/wiki/Software/Plymouth/Scripts - мануал к plymouth

@темы: Linux

URL
Комментарии
2012-12-22 в 06:27 

plymouthd --no-daemon запустили демон без демона... (.

opensuse 12.2 запускать надо с демоном) т.е: # plawmouthd

URL
   

Кавергарнум эр варгеш

главная