La nouveauté la plus visible dans la version de développement de ubuntu, Karmic Koala, est l’intégration de la version 2 du chargeur de démarrage grub. Par rapport à l’ancienne version, cette nouvelle version apporte entre autres la possibilité d’avoir une interface graphique un peut plus élaborée[1]. Avec la version alpha 2 de Karmic, grub 2 fait son entrée mais il garde l’apparence « classique » de grub 1 en y ajoutant un peut de couleur bleu :).
En attendant que l’équipe artistique de ubuntu nous crée une belle interface graphique j’ai tenté de faire le plus simple à savoir changer l’image d’arrière plan de grub.
Attention les opérations qui vont suivre contiennent des instructions qui risquent d’endommager votre système.
Pour changer l’arrière plan nous avons besoin en premier lieu de l’image. En ce qui me concerne j’ai opté pour l’image de l’arrière plan de la fenêtre de connexion.
Cette image doit être redimensionnée à la taille 640×480 avec un codage sur 8 bits. Pour cela nous aurons besoin d’un outil de manipulation d’images et ça sera ImageMagick qui est disponibles dans les dépôts ubuntu.
Voici donc les étapes à suivre :
sudo apt-get install imagemagick
/usr/share/gdm/themes/Human
. Bien sure vous pouvez choisir n’importe quelle autre image.
cp /usr/share/gdm/themes/Human/background.png $HOME
convert $HOME/background.png -resize 640x480! -depth 8 $HOME/background640.png
Ça y est notre image est prête. Intéressons nous maintenant au fichier de configuration du thème de grub 2, le fichier /etc/grub.d/05_debian_theme
. Ce fichier contient une ligne que nous devons adapté selon notre besoin. Cette ligne (la 16ème) contient initialement :
for i in {/boot/grub,/usr/share/images/desktop-base}/a.{png,tga} ; do
On peut interpréter cette ligne comme suit : le système cherche dans les répertoires /boot/grub
et /usr/share/images/desktop-base
une image nommée a
et avec l’extension png
ou tga
. Donc ce qu’il nous reste à faire est de placer notre image dans l’un des deux répertoires de recherche et de remplacer le nom par défaut par le nom de notre image et voici les étapes à suivre :
/boot/grub
sudo cp $HOME/background640.png /boot/grub/background640.png
sudo cp /etc/grub.d/05_debian_theme /etc/grub.d/05_debian_theme.backup
for i in {/boot/grub,/usr/share/images/desktop-base}/background640.{png,tga} ; do
Une fois le fichier sauvegardé, il faut metre à jour le chargeur de démarrage grub :
sudo update-grub
Si tout se passe bien vous devez avoir un résultat semblable à celui là :
Generating grub.cfg ...
Found Debian background: background640.png
Found linux image: /boot/vmlinuz-2.6.31-1-generic
Found initrd image: /boot/initrd.img-2.6.31-1-generic
Found memtest86+ image: /boot/memtest86+.bin
done
Il faut s’assurer que la ligne Found Debian background: background640.png
est affichée. Si elle n’apparait pas il faut vérifier le nom de l’image et l’emplacement et refaire la mise à jour de grub. Si tout se passe bien un petit redémarrage et voilà le résultat :
Il est possible que le texte ne soit pas lisible sur le nouveau fond, dans ce cas il faut modifier les couleurs pour le texte sélectionné et non sélectionné. Les modifications sont à faire dans le fichier de configuration /etc/grub.d/05_debian_theme
et en particulier dans les deux lignes suivantes (lignes 39 et 40) :
set color_normal=white/black
set color_highlight=red/black
Il faut varier uniquement la première couleur (en gras). La ligne color_normal
correspond au texte non sélectionné et la ligne color_highlight
correspond au texte sélectionné. Il ne faut pas oublier de faire la mise ç jour de grub après chaque modification.
[1]: finalement les nouveaux arrivants à ubuntu ne seront plus surpris par l’affreux écran noir qui les accueil lors du premier démarrage du système.
Franchement sympa (quoique la photo est très moche).
Pourquoi ne pas faire un patch et l’envoyer sur Launchpad? J’en connais plus d’un qui en serait très heureux.
Salut!
Merci pour l’astuce.
Je ne l’ai pas essayé mais je pense qu’il y a une coquille.
Ton image s’appelle « background600.png » mais dans le fichier paramètre de GRUB, tu indique un nom d’image « background640.png »!
Soit le 4, soit le 0 n’est pas bon!
Très intéressant!
J’ajouterais une petite correction: bien qu’il soit tout à fait sage de faire une copie du fichier 05_debian_theme, il serait préférable de ne pas le sauvegarder dans le répertoire /etc/grub.d afin qu’il ne soit pas utilisé dans la configuration de grub. Cela occasionnerait des conflits de configurations. On peu alors faire:
cp /etc/grub.d/05_debian_theme $HOME/
Petite précision : tout ce que tu dis n’est pas propre à grub 2. On peut déjà le faire dans grub 1.
@Zippy : Je confirme que la photo est moche, je parle bien sur, de la dernière photo 🙂 qui est prise par un téléphone portable :/ j’ai pas trouvé mieux. Pour le patch je pense que c’est inutile car d’ici la version finale il y aura certainement du nouveau, du moins, je l’espère…
@Spmeckar : merci, en effet le 4 n’est pas dans ça place, héé le 4 tire toi… ça y est tout est en place maintenant.
@Phil : le plus important et de faire une copie soit dans le même répertoire avec une extension différente soit ailleurs…
@Binoyte : oui en effet grub 1 accepte aussi d’avoir une image d’arrière plan, mais j’ai jamais réussi à avoir une de ci bonne qualité.
Très beau rendu final…
Ca promet de belles interfaces pour la suite. Reste à avoir des programmes qui permettent de faire tout ça de manière plus simple (comme on change le thème de gnome par exemple)
Un script automatisant la procédure ne devrait pas être trop dur à réaliser
Il me semble que Startup-manager gère à la fois Grub legacy et Grub 2, donc il suffit de rentrer le png dans Startup-manager, et le tour est joué ! 😀
Pourquoi utiliser une simple image d’arrière plan alors que l’on peut utiliser des thèmes beaucoup plus joli avec grub2 comme montré ici : http://grub.enbug.org/ThemeFormat ?
Les images d’arrière plan c’était bien pour grub1 mais depuis on a inventé grub-gfx et grub2 qui gère des thèmes bien plus avancé et plus joli 😉
Bah, Grub c’est pas le truc majeur de ton OS alors le rendre plus sympa je suis d’accord mais ce n’est pas une priorité je pense. Oui il est moche mais il fonctionne bien.
Je cherche plus l’efficacité mais en tout cas merci pour l’astuce je vais pouvoir aider des gens qui ne savent pas trop utiliser leur OS.. 🙂
@Dhoko : Grub2 n’est pas seulement plus joli, il y a un tas d’autres nouveautés. Je te laisse consulter le site du projet.
Salut,
effectivement, ce que tu proposes est sympa, mais déjà faisable avec grub1.
Alors que jaunty utilisera le mode graphique de grub, pas le mode texte qu’il y a actuellement.
C’est expliqué ici : https://lists.canonical.com/archives/ubuntu-art/2009-June/010905.html
et en plus détaillé et avec des schémas, ici : https://wiki.ubuntu.com/DesktopExperienceTeam/KarmicBootExperienceDesignSpec
Vous pouvez proposer vos idées de thème ici : https://wiki.ubuntu.com/Artwork/Incoming/Karmic/Boot
Ils cherchent quelque chose de fluide, qui fasse agréablement la transition du choix (graphique) d’OS (et de kernel) au choix d’utilisateur (GDM). Quelque chose qui ne soit pas une simple barre de progression trop « saccadée ».
En fait avec grub 1 l’image doit être avec 14 couleurs uniquement, avec grub 2 ce n’est plus le cas.
une proposition classe d’animation de boot : http://www.youtube.com/watch?v=zcSpkmM36nA&fmt=22
@Yann : pas aussi classe que ça :/ mais ça reste une appréciation personnelle.
Amicalement
« Cette image doit être redimensionnée à la taille 640×480 avec un codage sur 8 bits. »
et après
« Conversion de l’image à la taille et à la pourfendeur demandées.
convert $HOME/background.png -resize 600×480! -depth 8 $HOME/background600.png »
Y a t’il une erreur de frappe pour la résolution ?
Je dis cela car je ne comprenais pas pourquoi le fond que j’avais mis ne prenais pas toute la longueur … mais c’est bien en 640×480.
Oui Jfab, c’est en effet 640×480. Le billet est corrigé merci.