Come posso personalizzare il logo di avvio di Ubuntu?


60

Sto realizzando una distribuzione personalizzata e ho una domanda sul logo Ubuntu con 5 punti visualizzati all'avvio.

Il Ubuntu-Logo-Scriptnella /lib/plymouth/themes/ubuntutextcartella ha la parola Ubuntu e sotto quei 5 "punti" progressivi. È possibile rimuovere i punti della barra di avanzamento e invece sostituirlo con un logo Ubuntu sbiadito, che colora gradualmente fino al completo?

inserisci qui la descrizione dell'immagine

Risposte:


135

Installa tema

Ho creato il tema come desiderato con un logo Ubuntu sbiadito (inoltre ho aggiunto un'animazione del logo Ubuntu. Spero che ti piaccia :-P)

Immagine dello schermo

Rotazione del logo Ubuntu e del logo di testo Ubuntu con effetto dissolvenza in movimento.

Vuoi vederlo dal vivo?

Vai a http://www.youtube.com/watch?v=zPo50gM3txU

Dove puoi trovare questo tema?

L'ho caricato sul cloud Mediafire qui .

come lo installi?

Scarica dal link sopra, salvalo sul desktop, quindi invia questi comandi uno per uno. Sostituire /lib/plymouth/themescon /usr/share/plymouth/themesnei comandi, se si è in 16.04 o versioni successive.

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

Come controllarlo?

  1. Riavvia Ubuntu e vedrai una bella animazione durante l'avvio e lo spegnimento. O
  2. Copia l'intero comando qui sotto e incollalo in un terminale e premi invio. (Probabilmente avrete bisogno di installare un pacchetto: 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

Come creare un tema Plymouth da soli

Plymouth Scripting Language è molto simile a C o JavaScript. Se conosci queste lingue, sarà molto semplice creare da solo gli script di Plymouth.

Cominciamo con le basi come operatori, loop, commenti, ecc. Sono supportati tre tipi di commenti.

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

Le dichiarazioni sono terminate con un punto e virgola, ad es

foo = 10;

I blocchi di istruzioni possono essere creati con parentesi graffe, ad es

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

Gli operatori supportati sono +, -, *, /, %. Sono supportati anche operatori di assegnazione di stenografia, +=, -=, *=,ecc. Sono supportati anche operatori unari, ad es

foo *= ++z;

+ viene utilizzato per la concatenazione ad es

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

Esempio di operatore di confronto:

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

Operazioni condizionali e loop:

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


while (foo--)
    z *= foo;

&&, ||, !Sono supportati.

if ( foo > 0 && foo <4 )

Questo può essere nuovo per molti lettori: hash, simile agli array. Gli hash possono essere creati accedendo al loro contenuto usando doto [ ]parentesi, ad es

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

Utilizzare la funparola chiave per definire la funzione, ad es

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

I due oggetti base di Plymouth

Immagine

Per creare una nuova immagine, assegnare a il nome file di un'immagine nella directory del tema Image(). Ricorda, sono supportati solo i file .png . Per esempio:

background = Image ("black.png"); 

Per mostrare un messaggio di testo è necessario creare un Imagetesto. (Questo potrebbe sorprenderti.) Ad esempio:

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

Larghezza e altezza possono essere trovate usando GetWidth()e GetHeight(); per esempio:

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

Si può ruotare o cambiare la dimensione di un'immagine; per esempio:

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

folletto

Utilizzare Spriteper posizionare un Imagesullo schermo.

Creare un Sprite:

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

O fornendo l'immagine al suo costruttore,

first_sprite = Sprite (background);

Come impostare diversi sprite in posizioni diverse sullo schermo (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);

Oppure puoi impostare tutto in una volta con SetPosition():

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

Modifica dell'opacità:

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

Alcuni metodi vari usati sono:

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.

Funzioni predefinite

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.

Funzioni matematiche

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

È meglio modificare uno script esistente piuttosto che ricominciare da zero.

Apri il .scriptfile dal mio tema caricato e prova a capire cosa fa. Una fantastica guida può essere trovata qui .

Sono sicuro che imparerai questo. Non è difficile. Fammi sapere se hai bisogno di aiuto.

Spero ti possa aiutare a crearne uno tu.

Risposta al commento di Roshan George : 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

Potrebbe essere necessario aggiungere sprite.SetZ (-10);

Dovresti rimuovere

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

dove p, q, r, a, b, csono alcuni valori.

Più collegamenti


1
Posso ottenere lo stesso che hai creato ma con il logo e il testo di Ubuntu (nelle stesse posizioni come ora) che si illuminano e si oscurano alternativamente (quando il logo si illumina, il txt si attenua e quando il testo si illumina, il logo si attenua) senza bordo rotante e un progresso della fessura come Ubuntu9.10 playmouth ... cioè this- wiki.ubuntu.com/Artwork/Incoming/Karmic/Boot/… vorrebbe avere solo la barra di avanzamento della fessura come quella nel link ... essendo il txt e il logo in posizioni uguali ai nostri ... Puoi aiutarmi ad averlo ?? Sto cercando di imparare da quello che hai spiegato nel frattempo ... Grazie! risposta gr8
Nirmik

21
A volte vorrei poter votare più di 1 volta: D
Rinzwind

1
@Rinzwind: Gli ho appena dato "10 voti" a nome di tutti noi :)
ish

Grazie amico, il tutorial è fantastico. Guardo indietro nel dire questo. È permesso?
Roshan George,

1
Si noti che nel 16.04, la posizione della directory dei temi è cambiata in:/usr/share/plymouth/themes
Olivier,

3

Usa Plymouth Manager per cambiarlo. Puoi scaricarlo da qui su Launchpad o eseguire i comandi seguenti.

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 

Dopodiché dovrai avviare plymouth-managercon il comando:

sudo plymouth-manager

Il comando "magico" se vuoi fare tutto da solo, (scrivendo il tuo file di configurazione plymouth), e vuoi applicarlo quando sei pronto è:

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

1

Ho cambiato la schermata di GRUB con il software GRUB Customizer. Ma se vuoi cambiare lo schermo di Plymouth è diverso.

Tutte le cose di questo software sono nella /lib/plymouth/themesdirectory e tutta l'animazione di questo è nel /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.scriptfile.

Se vuoi modificare a tuo piacimento Plymouth, tutto ciò che ti serve è nella ubuntu-logocartella.

Puoi farlo da solo senza l'aiuto di alcun software esterno, ma devi capire la programmazione .

Inoltre puoi trovare strumenti per farlo nel repository Ubuntu, ma devi imparare a creare temi Plymouth.

In bocca al lupo!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.