changement de l’image d’arrière plan de grub 2

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 :).

grub2

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.

    #ff0000;">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.

gdm background

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 :

  • Installation de ImageMagik
      sudo apt-get install imagemagick
  • Création d’une copie de l’image qui se trouve normallement dans le répertoire /usr/share/gdm/themes/Human. Bien sure vous pouvez choisir n’importe quelle autre image.
      cp /usr/share/gdm/themes/Human/background.png $HOME
  • Conversion de l’image à la taille et à la pourfendeur demandées.
      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.{#ff0000;">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 #ff0000;">png ou #ff0000;">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 :

  • Copie de l’image vers l’un des répertoires de recherce, par exemple /boot/grub
      sudo cp $HOME/background640.png /boot/grub/background640.png
  • Création d’une copie de sauvegarde du fichier de configuration.
      sudo cp /etc/grub.d/05_debian_theme /etc/grub.d/05_debian_theme.backup
  • Modification de la ligne des paramètres dans le fichier de configuration.
      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 :

    grub2 avac la nouvelle image d'arrière plan.

    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.

    20 thoughts on “changement de l’image d’arrière plan de grub 2

    1. 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.

    2. 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!

    3. 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/

    4. Petite précision : tout ce que tu dis n’est pas propre à grub 2. On peut déjà le faire dans grub 1.

    5. @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é.

    6. 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)

    7. 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é ! 😀

    8. 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 😉

    9. 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.. 🙂

    10. @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.

    11. 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”.

    12. “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.

    Comments are closed.