Wie kann ich das Ubuntu-Startlogo anpassen?


60

Ich erstelle eine benutzerdefinierte Distribution und habe eine Frage zum Ubuntu-Logo mit 5 Punkten, die beim Booten angezeigt werden.

Die Ubuntu-Logo-Scriptim /lib/plymouth/themes/ubuntutextOrdner hat das Wort Ubuntu und darunter die 5 fortschreitenden "Punkte". Ist es möglich, die Fortschrittsbalkenpunkte zu entfernen und stattdessen durch ein ausgeblendetes Ubuntu-Logo zu ersetzen, das allmählich bis zur vollen Farbe erscheint?

Bildbeschreibung hier eingeben

Antworten:


135

Theme installieren

Ich habe das gewünschte Thema mit einem ausgeblendeten Ubuntu-Logo erstellt (außerdem habe ich eine Animation des Ubuntu-Logos hinzugefügt. Ich hoffe, es gefällt dir :-P)

Bildschirmfoto

Das sich drehende Ubuntu-Logo und das Ubuntu-Textlogo mit einem bewegenden Überblendungseffekt.

Willst du es live sehen?

Gehe zu http://www.youtube.com/watch?v=zPo50gM3txU

Woher bekommst du dieses Thema?

Ich habe es zu Mediafire Cloud hochgeladen hier .

Wie installierst du es?

Laden Sie es über den obigen Link herunter, speichern Sie es auf Ihrem Desktop und geben Sie diese Befehle nacheinander ein. Bitte ersetzen Sie /lib/plymouth/themesmit /usr/share/plymouth/themesin den Befehlen, wenn Sie am 16.04 oder später sind.

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

Wie überprüfe ich es?

  1. Starten Sie Ubuntu neu und Sie sehen eine nette Animation beim Booten und Herunterfahren. ODER
  2. Kopieren Sie den gesamten folgenden Befehl, fügen Sie ihn in ein Terminal ein und drücken Sie die Eingabetaste. (Sie werden wahrscheinlich ein Paket installieren müssen: 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

So erstellen Sie selbst ein Plymouth-Thema

Plymouth Scripting Language ist sehr ähnlich zu C oder JavaScript. Wenn Sie diese Sprachen kennen, ist es sehr einfach, Plymouth-Skripte selbst zu erstellen.

Beginnen wir mit Grundlagen wie Operatoren, Schleifen, Kommentaren usw. Es werden drei Arten von Kommentaren unterstützt.

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

Anweisungen werden mit einem Semikolon abgeschlossen, z

foo = 10;

Anweisungsblöcke können mit geschweiften Klammern erstellt werden, z

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

Die unterstützten Operatoren sind +, -, *, /, %. Shorthand-Zuweisungsoperatoren werden ebenfalls unterstützt +=, -=, *=,. Unäre Operatoren werden ebenfalls unterstützt, z

foo *= ++z;

+ wird zur Verkettung verwendet, z

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

Vergleichsoperator Beispiel:

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

Bedingte Operationen und Schleifen:

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


while (foo--)
    z *= foo;

&&, ||, !Werden ebenfalls unterstützt.

if ( foo > 0 && foo <4 )

Dies ist für viele Leser möglicherweise neu: Hashes, ähnlich wie Arrays. Hashes können erstellt werden, indem auf ihren Inhalt mit dotoder in [ ]Klammern zugegriffen wird , z

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

Verwenden Sie das funSchlüsselwort, um die Funktion zu definieren, z

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

Die zwei grundlegenden Plymouth-Objekte

Bild

Um ein neues Bild zu erstellen, geben Sie den Dateinamen eines Bildes im Themenverzeichnis an Image(). Denken Sie daran, dass nur PNG-Dateien unterstützt werden . Zum Beispiel:

background = Image ("black.png"); 

Um eine Kurzmitteilung anzuzeigen, müssen Sie eine Kurzmitteilung erstellen Image. (Dies könnte Sie überraschen.) Zum Beispiel:

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

Breite und Höhe können mit GetWidth()und ermittelt werden GetHeight(); zum Beispiel:

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

Man kann die Größe eines Bildes drehen oder ändern; zum Beispiel:

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

Verwenden Sie Sprite, um eine Imageauf dem Bildschirm zu platzieren.

Erstellen eines Sprite:

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

Oder indem Sie dem Konstruktor ein Bild zur Verfügung stellen,

first_sprite = Sprite (background);

So stellen Sie das Sprite auf verschiedene Positionen auf dem Bildschirm ein (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);

Oder Sie können alles auf einmal einstellen mit SetPosition():

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

Deckkraft ändern:

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

Einige verschiedene Methoden sind:

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.

Vordefinierte Funktionen

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.

Mathematische Funktionen

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

Es ist besser, ein vorhandenes Skript zu ändern, als von vorne zu beginnen.

Öffne die .scriptDatei aus meinem hochgeladenen Theme und versuche zu verstehen, was es macht. Eine fantastische Anleitung finden Sie hier .

Ich bin sicher, Sie werden das lernen. Es ist nicht schwer. Lassen Sie mich wissen, wenn Sie Hilfe benötigen.

Hoffe, es würde dir helfen, selbst eine zu erstellen.

Antwort auf Roshan Georges Kommentar : 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

Möglicherweise müssen Sie hinzufügen sprite.SetZ (-10);

Sie sollten entfernen

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

wo p, q, r, a, b, csind einige werte.

Weitere Links


1
Kann ich das selbe bekommen, wie du es erstellt hast, aber mit dem Ubuntu-Logo und Text (an den gleichen Positionen wie jetzt), der abwechselnd leuchtet und abblendet (wenn das Logo leuchtet, txt abblendet und wenn der Text leuchtet, das Logo abblendet), ohne rotierenden Rand und mit einem Schlitzfortschritt? wie das Ubuntu9.10-Playmouth ... dh this- wiki.ubuntu.com/Artwork/Incoming/Karmic/Boot/… möchte nur den Schlitz-Fortschrittsbalken wie den im Link haben ... der TXT und das Logo sind in den gleichen Positionen wie urs ... Kannst du mir helfen, das zu haben? Ich versuche aus dem zu lernen, was du in der Zwischenzeit erklärt hast ... Danke! gr8 Antwort
Nirmik

21
Manchmal wünschte ich, ich könnte mehr als ein Mal
stimmen

1
@ Rinzwind: Ich habe ihm gerade "10 Upvotes" für uns alle gegeben :)
ish

Danke Mann, das Tutorial ist hervorragend. Ich freue mich darauf, dies zu erwähnen. Ist das erlaubt
Roshan George

1
Beachten Sie, dass sich der Speicherort des Themes-Verzeichnisses in 16.04 geändert hat zu:/usr/share/plymouth/themes
Olivier,

3

Verwenden Sie den Plymouth Manager, um dies zu ändern. Sie können es von hier über Launchpad herunterladen oder die folgenden Befehle ausführen.

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 

Danach müssen Sie plymouth-managermit dem Befehl starten :

sudo plymouth-manager

Der "magic" -Befehl, wenn Sie alles alleine machen möchten (Schreiben Ihrer eigenen Plymouth-Konfigurationsdatei) und Sie ihn anwenden möchten, wenn Sie fertig sind, lautet:

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

1

Ich habe den GRUB-Bildschirm mit der GRUB Customizer-Software geändert. Aber wenn Sie den Plymouth-Bildschirm ändern möchten, ist es anders.

Alle Dinge dieser Software befinden sich im /lib/plymouth/themesVerzeichnis und die gesamte Animation dieser Software befindet sich in der /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.scriptDatei.

Wenn Sie Plymouth nach Ihren Wünschen ändern möchten, müssen Sie nur den ubuntu-logoOrdner öffnen.

Sie können dies auch ohne die Hilfe einer externen Software tun, aber Sie müssen die Programmierung verstehen .

Tools dafür finden Sie auch im Ubuntu-Repository, aber Sie müssen lernen, wie man Plymouth-Themes erstellt.

Viel Glück!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.