Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


Version Breezy
Status: Attente de relecture

Traduction du howto par Surfoo sur le forum. Mis en page par lok

usplash

usplash est l'utilitaire d'Ubuntu permettant d'afficher une image avec barre de chargement durant le démarrage du système. Il est disponible depuis Breezy.

Pour Edgy Eft : usplash ayant été modifié (amélioré), veuillez vous reporter à cette page : usplash

Ce petit HOWTO va vous permettre de changer l'image et les couleurs utilisé par usplash.

Prérequis

Commencez tout d'abord par installer les paquet gcc et libbogl-dev par Synaptic ou :

user@breezy:~$ sudo apt-get install gcc libbogl-dev

Création d'une image

Utiliser une image avec usplash nécessite certaines obligations :

  • l'image doit être au format png
  • elle doit être de taille 640x480
  • elle ne doit pas utiliser plus de 16 couleurs

Certaines entrées de la palette sont utilisées pour différentes raisons :

PaletteUtilisation
0 Couleur d'arrière-plan
0 Couleur d'arrière-plan texte
1 Couleur de la barre de chargement
2 Couleur du texte "OK"
4 Couleur de fond de la barre de chargement
8 Couleur du texte
13 Couleur d'erreur, "Failed"

Note: Pour créer une telle image dans The Gimp, choisissez FichierNouveau. Sélectionnez une taille de 640x480, puis dans la fenêtre de la nouvelle image, choisissez dans le menu ImageModeIndexé. Fabriquez une nouvelle palette de 16 couleurs maximum et validez. Pour définir vos couleurs, utilisez DialoguesPalette de couleurs. The Gimp peut aussi avec la même méthode convertir une image à la palette RVB (ou RGB en anglais) en palette de 256 couleurs.

Installer la nouvelle image

Une fois votre image prête il ne vous reste qu'à la compiler :
attention : la première ligne est obligatoire car lors de la compilation le fichier image doit s'appeler usplash-artwork.png pour pouvoir fonctionner.

user@breezy:~$ cp votreimage.png usplash-artwork.png
user@breezy:~$ pngtobogl usplash-artwork.png > usplash-artwork.c
user@breezy:~$ gcc -Os -g -I/usr/include/bogl -fPIC -c usplash-artwork.c -o usplash-artwork.o
user@breezy:~$ gcc -shared -Wl,-soname,usplash-artwork.so usplash-artwork.o -o votreimage-splash.so 

Maintenant il suffit de la copier dans le répertoire de usplash et de créer un nouveau lien :

user@breezy:~$ sudo cp votreimage-splash.so /usr/lib/usplash/votreimage-splash.so
user@breezy:~$ sudo ln -sf /usr/lib/usplash/votreimage-splash.so /usr/lib/usplash/usplash-artwork.so

Enfin on termine en régénerant le initramfs:

user@breezy:~$ sudo dpkg-reconfigure linux-image-$(uname -r)

Rappel : cette dernière commande modifiera grub, si vous l'avez déjà personnalisé, je vous conseille d'entrer cette commande :

user@breezy:~$ sudo mv /boot/grub/menu.lst~ /boot/grub/menu.lst

C'est fait ! Le fichier d'usplash sera /usr/lib/usplash/usplash-fix.so, et la prochaine fois que vous démarrerez Ubuntu, vous pourrez voir le nouvel usplash.

Vous pouvez effacer ces 4 fichiers de votre ~ (home):

user@breezy:~$ rm usplash-artwork.png usplash-artwork.c usplash-artwork.o votreimage-splash.so

Remettre le usplash d'origine

Si vous changez d'avis, alors vous pouvez revenir en arrière avec l'usplash par défaut, avec les 2 étapes suivantes :

user@breezy:~$ sudo ln -sf /usr/lib/usplash/usplash-default.so /usr/lib/usplash/usplash-artwork.so
user@breezy:~$ sudo dpkg-reconfigure linux-image-$(uname -r)

Exemple d'image pour usplash

Voici la méthode utilisée par Surfoo pour créer son image:

  • On commence par récupérer les sources, disponibles à cette page : http://packages.ubuntu.com/breezy/misc/usplash
  • On utilise dedans le usplash-artwork.png original et on permute les entrées de la palette pour augmenter la visibilité des entrées 2, 4 et 8 (description ci dessous). J'ai permuté le 2 avec le 7, le 4 avec 7 et le 8 avec le 9. J'ai sauvegardé le fichier avec le nom usplash-fix.png
  • Pour le fichier usplash-blue.png, on a simplement décalé la tonalité de la palette entière de usplash-fix.png ainsi les 3 valeurs RGB ont été permutée avec les valeurs R (rouge) et B (bleu).

Le résultat:

usplash-fix.png usplash-blue.png usplash-olive.png

Vous pouvez rajouter vos créations personnelles à cet article:

AuteurImage
Aji usplash-aji-breezy_painting.png
Coxx
Coxx
Coxx
Placisfos
Traaf

Attention : cette partie explique comment modifier le placement de la zone de texte, ainsi que celui de la barre de chargement, cela se fait en modifiant le code de usplash. Ne le faites surtout pas si vous ne savez pas comment réparer une installation depuis un autre système ou depuis un live-cd.

Prérequis

Il vous faudra les paquets gcc, libgd-xpm-dev

user@breezy:~$ sudo apt-get install gcc libgd-xpm-dev

Assurez vous que votre /etc/apt/source.list possède bien une ligne deb-src pour le dépôt main et téléchargez les sources du paquet usplash:

user@breezy:~$ apt-get source usplash

Modifier les positions des éléments

A la racine du dossier des sources vous trouverez un fichier usplash.c. Editez le.

Le code est clair, et dès le départ on remarque que les #define concernent des positions, les lignes 28 à 44 sont donc celles qui nous intéressent.

Le premier bloc contient donc les valeurs des entrées de la palette de couleurs et leurs fonctionnalités.

#define BACKGROUND_COLOUR 0
#define PROGRESSBAR_COLOUR 1
#define PROGRESSBAR_BACKGROUND 4
#define TEXT_BACKGROUND 0
#define TEXT_FOREGROUND 2
#define RED 13

C'est une chose pratique à savoir si vous souhaitez utiliser une entrée plutôt qu'une autre pour, par exemple, la couleur du texte.

Le deuxième bloc concerne les coordonnées du cadre de texte ainsi que la hauteur de la barre de chargement :

#define TEXT_X1 (left_edge + 136)
#define TEXT_X2 (left_edge + 504)
#define TEXT_Y1 (top_edge + 300)
#define TEXT_Y2 (top_edge + 450)
#define LINE_HEIGHT 15

#define PROGRESS_BAR (top_edge + 260)

Ne modifiez pas left_edge et top_edge : ce sont des constantes qui définissent les bords de l'image entière, considérez les comme valant 0. Ne modifiez que les valeurs qui lui sont ajoutées.

Les variables sont utilisées comme suit :

  • TEXT_X1 est la valeur en pixels de l'emplacement du bord gauche du bloc affichant le texte
  • TEXT_X2 est celle pour le bord droit
  • TEXT_Y1 est celle du haut
  • TEXT_Y2 est celle du bas
  • PROGRESS_BAR est la valeur verticale en pixels de l'emplacement de la barre de chargement

En jouant sur les valeurs vous pouvez placer comme bon vous semble les éléments de votre usplash.

En ce qui concerne la largeur de la barre de chargement on trouve de quoi la changer à la ligne 173 :

bogl_clear(left_edge+220,PROGRESS_BAR,left_edge+420,PROGRESS_BAR+10,PROGRESSBAR_BACKGROUND);

On y retrouve respectivement en paramètres : l'abscisse de début de la barre (ici +220), l'abscisse de fin de la barre (ici +420), la hauteur de la barre (ici +10), la couleur de fond. Là encore modifiez selon vos besoins. De même, modifiez les lignes 181 et 182 en conséquence.

Applications des modifications

Une fois les valeurs modifiées il vous suffit de les appliquer comme ceci:

user@breezy:~/usplash-0.1$ make
user@breezy:~/usplash-0.1$ sudo make install
user@breezy:~/usplash-0.1$ sudo dpkg-reconfigure linux-image-$(uname -r)

Rappel : la dernière commande modifiera grub, si vous l'avez déjà personnalisé, je vous conseille d'entrer cette commande :

user@breezy:~$ sudo mv /boot/grub/menu.lst~ /boot/grub/menu.lst

Voilà au prochain redemarrage les modifications seront effectives. Si un problème survient, vous pouvez réinstaller le paquet usplash ce qui remettra ses paramètres d'origine.

Voilà un exemple de ce que j'ai fait :

Image de departImage modifiée (16 couleurs)Rendu final

Les paramètres modifiés sont :

  • PROGRESSBAR_COULOUR 15
  • PROGRESSBAR_BACKGROUND 0
  • TEXT_FOREGROUND 14
  • RED 12
  • TEXT_X1 +5
  • TEXT_X2 +373
  • TEXT_Y1 +200
  • TEXT_Y2 +350
  • PROGRESS_BAR +55

Le code complet du usplash utilisé est ici

Vous n'avez qu'à copier le fichier, faire le lien et actualiser initramfs

Téléchargement http://gell.levinux.org/IMG/zip/vrusplash-splash.so.zip

Sous Edgy, avec un noyau 64 bit, il se peut que votre splash soit en noir et blanc, et ne fonctionne pas. Une solution à été postée ici

  • applications/usplash.1166637881.txt.gz
  • Dernière modification: Le 18/04/2011, 14:47
  • (modification externe)