Comment personnaliser le logo de démarrage Ubuntu?

60

Je fais une distribution personnalisée et j'ai une question sur le logo Ubuntu avec 5 points affichés lors du démarrage.

Le Ubuntu-Logo-Scriptdans le /lib/plymouth/themes/ubuntutextdossier contient le mot Ubuntu et en dessous de 5 "points" en progression. Est-il possible de supprimer les points de la barre de progression et de les remplacer par un logo Ubuntu délavé, qui passe progressivement au maximum?

entrez la description de l'image ici

Roshan George
la source

Réponses:

135

Installer le thème

J'ai créé le thème que vous souhaitiez avec un logo Ubuntu fané (en outre, j'ai ajouté une animation du logo Ubuntu. J'espère qu'il vous plaira :-P)

Capture d'écran

Spinning Ubuntu logo et le logo de texte Ubuntu avec un effet de fondu en mouvement.

Voulez-vous le voir en direct?

Accédez au site http://www.youtube.com/watch?v=zPo50gM3txU.

Où pouvez-vous trouver ce thème?

Je l'ai téléchargé sur le nuage Mediafire ici .

Comment l'installez-vous?

Téléchargez le lien ci-dessus, enregistrez-le sur votre bureau, puis exécutez ces commandes une par une. S'il vous plaît remplacer /lib/plymouth/themesavec /usr/share/plymouth/themesdans les commandes, si vous êtes sur 16.04 ou plus tard.

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

Comment le vérifier?

  1. Redémarrez Ubuntu et vous verrez une belle animation lors du démarrage et de l’arrêt. OU
  2. Copiez la commande entière ci-dessous, collez-la dans un terminal et appuyez sur Entrée. (Vous aurez probablement besoin d'installer un package: 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

Comment créer un thème de Plymouth vous-même

Plymouth Scripting Language est très similaire à C ou JavaScript. Si vous connaissez ces langues, il sera très facile de créer vous-même des scripts Plymouth.

Commençons par des notions de base telles que les opérateurs, les boucles, les commentaires, etc. Trois types de commentaires sont pris en charge.

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

Les instructions se terminent par un point-virgule, par exemple

foo = 10;

Les blocs d'instructions peuvent être créés avec des accolades, par exemple

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

Les opérateurs pris en charge sont +, -, *, /, %. Les opérateurs d’attribution abrégée sont également pris en charge, +=, -=, *=,etc. Les opérateurs unaires sont également pris en charge, par exemple:

foo *= ++z;

+ est utilisé pour la concaténation, par exemple

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

Exemple d'opérateur de comparaison:

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

Opérations conditionnelles et bouclage:

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


while (foo--)
    z *= foo;

&&, ||, !Sont également pris en charge.

if ( foo > 0 && foo <4 )

Cela peut être nouveau pour beaucoup de lecteurs: les hachages, similaires aux tableaux. Hash peuvent être créés en accédant à leur contenu en utilisant dotou entre [ ]parenthèses, par exemple

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

Utilisez le funmot - clé pour définir la fonction, par exemple

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

Les deux objets de base de Plymouth

Image

Pour créer une nouvelle image, donnez le nom de fichier d'une image dans le répertoire du thème à Image(). N'oubliez pas que seuls les fichiers .png sont pris en charge . Par exemple:

background = Image ("black.png"); 

Pour afficher un message texte, vous devez en créer un Image. (Cela pourrait vous surprendre.) Par exemple:

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

La largeur et la hauteur peuvent être trouvées en utilisant GetWidth()et GetHeight(); par exemple:

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

On peut faire pivoter ou changer la taille d'une image; par exemple:

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

Lutin

Utilisez Spritepour placer un Imageécran.

Créer un Sprite:

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

Ou en fournissant une image à son constructeur,

first_sprite = Sprite (background);

Comment définir différentes images-objets à différentes positions sur l'écran (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);

Ou vous pouvez configurer tout à la fois avec SetPosition():

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

Changer d'opacité:

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

Certaines méthodes diverses utilisées sont:

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.

Fonctions prédéfinies

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.

Fonctions mathématiques

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

Il est préférable de modifier un script existant que de recommencer à zéro.

Ouvrez le .scriptfichier de mon thème téléchargé et essayez de comprendre ce qu’il fait. Un guide fantastique peut être trouvé ici .

Je suis sûr que vous allez apprendre ça. Ce n'est pas difficile Faites-moi savoir si vous avez besoin d'aide.

J'espère que cela vous aiderait à en créer un vous-même.

Réponse au commentaire de 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

Vous pourriez avoir besoin d'ajouter sprite.SetZ (-10);

Vous devriez enlever

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

p, q, r, a, b, csont quelques valeurs.

Plus de liens

virpara
la source
1
Puis-je obtenir le même que vous avez créé, mais avec le logo et le texte Ubuntu (dans les mêmes positions que maintenant) rougeoyant et s'atténuant en alternance (lorsque le logo brille, le texte estompe et lorsque le texte brille, le logo s'assombrit) sans bordure tournante et une fente de progression comme Ubuntu9.10 playmouth ... ie this- wiki.ubuntu.com/Artwork/Incoming/Karmic/Boot/… aimerait avoir uniquement la barre de progression fendue comme celle du lien ... le txt et le logo étant dans les mêmes positions que les urs ... pouvez-vous m'aider à avoir ça ?? J'essaie d'apprendre de ce que vous avez expliqué entre-temps ... Merci! Réponse de gr8
Nirmik
21
Parfois, j'aimerais pouvoir voter plus d'une fois: D
Rinzwind le
1
@Rinzwind: Je lui ai juste donné "10 votes positifs" de notre part à tous :)
Ish le
Merci mec, le tutoriel est superbe. Je cherche à dire ceci. Est-ce permis?
Roshan George
1
Notez qu'en 16.04, l'emplacement du répertoire themes a été remplacé par:/usr/share/plymouth/themes
Olivier,
3

Utilisez le gestionnaire de Plymouth pour changer cela. Vous pouvez l'obtenir à partir d'ici sur le tableau de bord ou exécuter les commandes ci-dessous.

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 

Après cela, vous devrez lancer plymouth-manageravec la commande:

sudo plymouth-manager

La commande "magique" si vous voulez tout faire par vous-même (en écrivant votre propre fichier de configuration de plymouth) et que vous voulez l'appliquer quand vous êtes prêt est:

sudo update-alternatives --config default.plymouth && sudo update-initramfs -u
Frantique
la source
1

J'ai changé l'écran GRUB avec le logiciel GRUB Customizer. Mais si vous voulez changer l'écran de Plymouth, c'est différent.

Toutes les choses de ce logiciel sont dans le /lib/plymouth/themesrépertoire et toute l'animation de celui-ci est dans le /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.scriptfichier.

Si vous souhaitez modifier à votre guise Plymouth, tout ce dont vous avez besoin est sur le ubuntu-logodossier.

Vous pouvez le faire vous-même sans l'aide d'un logiciel externe, mais vous devez comprendre la programmation .

Vous pouvez également trouver des outils pour le faire dans le référentiel Ubuntu, mais vous devez apprendre à créer des thèmes Plymouth.

Bonne chance!

Lucio
la source