Як я можу налаштувати логотип для завантаження Ubuntu?


60

Я роблю спеціальний дистрибутив і маю запитання про логотип Ubuntu з 5 крапками, які відображаються під час завантаження.

Ubuntu-Logo-ScriptУ /lib/plymouth/themes/ubuntutextпапці має слово Ubuntu і під що 5 прогресуючих «точок». Чи можна видалити точки смуги прогресу, а замість цього замінити його зів’ялим логотипом Ubuntu, який поступово забарвлюється до повного?

введіть тут опис зображення

Відповіді:


135

Встановити тему

Я створив тему так, як ви хотіли, з вицвілим логотипом Ubuntu (до того ж я додав анімацію логотипу Ubuntu. Сподіваюся, вам сподобається :-P)

Знімок екрана

Спінінг логотипу Ubuntu та текстовий логотип Ubuntu з рухомим ефектом згасання.

Хочете побачити це в прямому ефірі?

Перейдіть на сторінку http://www.youtube.com/watch?v=zPo50gM3txU

Де ви можете взяти цю тему?

Я завантажив його тут у хмару Mediafire .

Як це встановити?

Завантажте за вищенаведеним посиланням, збережіть його на робочому столі, а потім видайте ці команди по черзі. Будь ласка , замініть /lib/plymouth/themesз /usr/share/plymouth/themesв командах, якщо ви перебуваєте на 16.04 або пізніше.

cd ~/Desktop/
tar -xf ubuntufaded.tar
sudo cp -r ubuntu-faded-screen '/lib/plymouth/themes'
sudo rm '/lib/plymouth/themes/default.plymouth'
sudo ln -s '/lib/plymouth/themes/ubuntu-faded-screen/ubuntu-faded-screen.plymouth' '/lib/plymouth/themes/default.plymouth'
sudo update-initramfs -u

Як це перевірити?

  1. Перезапустіть Ubuntu, і ви побачите приємну анімацію під час завантаження та вимкнення. АБО
  2. Скопіюйте всю команду нижче і вставте її в термінал і натисніть клавішу Enter. (Ви, можливо , буде потрібно встановити пакет: sudo apt-get install plymouth-x11)

    sudo plymouthd --debug --debug-file=/tmp/plymouth-debug-out ; sudo plymouth --show-splash ; for ((I=0;I<10;I++)); do sleep 1 ; sudo plymouth --update=event$I ; done ; sudo plymouth --quit

Як самостійно створити тему Плімута

Мова сценарію Плімута дуже схожа на C або JavaScript. Якщо ви знаєте ці мови, створити сценарії Плімута буде дуже просто.

Почнемо з таких основ, як оператори, циклічне обслуговування, коментарі тощо. Підтримуються три типи коментарів.

# comment like in bash
// single line comment like in C
/* block comments */

Виписки закінчуються крапкою з комою, напр

foo = 10;

Блоки заяв можна створити за допомогою фігурних дужок, наприклад

{
    foo = 10;
    z = foo + foo;
}

Підтримувані оператори +, -, *, /, %. Також підтримуються оператори присвоєння скорочень +=, -=, *=,тощо. Також підтримуються унарні оператори, наприклад

foo *= ++z;

+ використовується для конкатенації, наприклад

foo = "Jun" + 7; # here foo is "Jun7"

Приклад оператора порівняння:

x = (3 >= 1); # assign 1 to x because it's true
y = ("foo" == "bar"); # assign 0 to y because it's false

Умовні операції та циклічність:

if (foo > 4)
{
    foo--;
    z = 1;
}
else
    z = 0;


while (foo--)
    z *= foo;

&&, ||, !Також підтримуються.

if ( foo > 0 && foo <4 )

Це може бути новим для багатьох читачів: хеші, схожі на масиви. Хеші можна створити, звернувшись до їх вмісту за допомогою dotабо [ ]дужок, наприклад

foo.a = 5;
x = foo["a"] ; # x equals to 5

Використовуйте funключове слово для визначення функції, наприклад

fun animator (param1, param2, param3)
{
    if (param1 == param2)
        return param2;
    else
        return param3;
}

Два основних об'єкти Плімута

Зображення

Щоб створити нове Зображення, вкажіть ім'я файлу зображення в темі каталогу Image(). Пам'ятайте, що підтримуються лише файли .png . Наприклад:

background = Image ("black.png"); 

Щоб показати текстове повідомлення, ви повинні створити Imageтекст. (Це може вас здивувати.) Наприклад:

text_message_image = Image.Text("I love Ubuntu");

Ширину та висоту можна знайти за допомогою GetWidth()та GetHeight(); наприклад:

image_area = background.GetWidth() * background.GetHeight();

Можна обертати або змінювати розмір зображення; наприклад:

down_image = logo_image.Rotate (3.1415); # Image can be Rotated. Parameter to Rotate is the angle in radians
fat_image = background.Scale ( background.GetWidth() * 4 , background.GetHeight () ) # make the image four times the width

Спрайт

Використовуйте Spriteдля розміщення Imageекрана.

Створення Sprite:

first_sprite = Sprite ();
first_sprite.SetImage (background);

Або надаючи зображення своєму конструктору,

first_sprite = Sprite (background);

Як встановити різні спрайти на різні позиції на екрані (x, y, z):

first_sprite.SetX (300); # put at x=300
first_sprite.SetY (200); # put at y=200
background.SetZ(-20);
foreground.SetZ(50);

Або ви можете встановити все відразу за допомогою SetPosition():

first_sprite.Setposition(300, 200, 50) # put at x=300, y=200, z=50

Зміна непрозорості:

faded_sprite.SetOpacity (0.3);
invisible_sprite.SetOpacity (0);

Деякі різні методи, що використовуються:

Window.GetWidth();
Window.GetHeight();
Window.SetBackgroundTopColor (0.5, 0, 0); # RGB values between 0 to 1.
Window.SetBackgroundBottomColor (0.4, 0.3, 0.6);
Plymouth.GetMode(); #  returns a string of one of: "boot", "shutdown", "suspend", "resume" or unknown.
etc.

Заздалегідь визначені функції

Plymouth.SetRefreshFunction (function); # Calling Plymouth.SetRefreshFunction with a function will set that function to be called up to 50 times every second
Plymouth.SetBootProgressFunction(); # function is called with two numbers, time spent booting so far and the progress (between 0 and 1)
Plymouth.SetRootMountedFunction(); # function is called when a new root is mounted
Plymouth.SetKeyboardInputFunction(); # function is called with a string containing a new character entered on the keyboard
Plymouth.SetUpdateStatusFunction(); # function is called with the new boot status string
Plymouth.SetDisplayPasswordFunction(); # function is called when the display should display a password dialogue. First param is prompt string, the second is the number of bullets.
Plymouth.SetDisplayQuestionFunction(); # function is called when the display should display a question dialogue. First param is prompt string, the second is the entry contents.
Plymouth.SetDisplayNormalFunction(); # function is called when the display should return to normal
Plymouth.SetMessageFunction(); # function is called when new message should be displayed. First arg is message to display.

Математичні функції

Math.Abs()
Math.Min()
Math.Pi()
Math.Cos()
Math.Random()
Math.Int()
etc.

Краще змінити існуючий сценарій, ніж починати з нуля.

Відкрийте .scriptфайл із моєї завантаженої теми та спробуйте зрозуміти, що це робить. Фантастичне керівництво можна знайти тут .

Я впевнений, що ти це навчишся. Це не важко. Повідомте мене, якщо вам потрібна допомога.

Сподіваюся, це допоможе вам створити його самостійно.

Відповідь на коментар Рошана Джорджа : Is it possible to replace the purple colour with an image as background in the default Plymouth theme names "ubuntu-logo" ?

background = Image ("your-image.png"); 
sprite = Sprite (background.Scale (Window.GetWidth(), Window.GetHeight()));
sprite.SetX (0); # put at x=0
sprite.SetY (0); # put at y=0

Можливо, вам доведеться додати sprite.SetZ (-10);

Вам слід видалити

Window.SetBackgroundTopColor (p, q, r);
Window.SetBackgroundBottomColor (a, b, c);

де p, q, r, a, b, cдеякі значення.

Більше посилань


1
Чи можу я отримати те саме, що створено у, але з логотипом ubuntu та текстом (у таких же положеннях, як зараз) світиться та тьмяніє поперемінно (коли логотип світиться, txt затемнює і коли текст світиться, логотип тьмяніє) без обертової межі та прорізу прорізу як ігровий майданчик Ubuntu9.10 ... тобто цей wiki.ubuntu.com/Artwork/Incoming/Karmic/Boot/… хотів би мати лише щілину ходу прорізу, як та, яка знаходиться у посиланні ... txt та логотип в таких же посадах, як урс ... Чи можете ви мені допомогти це? я намагаюся навчитися з того, що у вас є розплановані тим часом ... Спасибі! відповідь gr8
Nirmik

21
Іноді хочеться, щоб я міг подати заявку більше 1 разу: D
Rinzwind

1
@Rinzwind: Я щойно дав йому "10 оновлень" від імені всіх нас :)
Останній

Спасибі людину, підручник чудовий. Я дивлюсь fordrd у цьому. Це дозволено?
Рошан Джордж

1
Зауважте, що в 16.04 розташування каталогів тем змінилося на:/usr/share/plymouth/themes
Олів'є

3

Використовуйте диспетчер Plymouth, щоб змінити це. Ви можете отримати його звідси на Launchpad або запустити команди нижче.

wget https://launchpad.net/plymouth-manager/trunk/stable/+download/plymouth-manager_1.5.0-1_all.deb
sudo dpkg -i plymouth-manager_1.5.0-1_all.deb 

Після цього вам потрібно буде запустити plymouth-managerкоманду:

sudo plymouth-manager

Команда "магія", якщо ви хочете зробити все самостійно (написання власного файлу конфігурації plymouth), і ви хочете застосувати її, коли будете готові:

sudo update-alternatives --config default.plymouth && sudo update-initramfs -u

1

Я змінив екран GRUB за допомогою програмного забезпечення GRUB Customizer. Але якщо ви хочете змінити екран Plymouth - це інакше.

Усі речі цього програмного забезпечення знаходяться в /lib/plymouth/themesкаталозі, а вся анімація цього - у /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.scriptфайлі.

Якщо ви хочете змінити свій смак Plymouth, все, що вам потрібно, - у ubuntu-logoпапці.

Ви можете це зробити самостійно без допомоги будь-якого зовнішнього програмного забезпечення, але ви повинні розуміти програмування .

Також ви можете знайти інструменти для цього в сховищі Ubuntu, але вам потрібно навчитися створювати теми Plymouth.

Удачі!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.