Ceci est une ancienne révision du document !



Plymouth

Plymouth est le nouveau chargeur graphique d'Ubuntu 10.04 LTS et suivants. Il remplace usplash et xsplash présents dans la version Ubuntu 9.10.

Le but est de permettre un démarrage en douceur, supprimant les semblants d'hésitation générés par les transitions entre l'écran de connexion, la session à proprement parler ou lors d'un changement d'utilisateur. Conjointement à KMS ceci permet d'avoir un démarrage sans clignotement.

Description de Plymouth sur Wikipedia

Plymouth est aujourd'hui directement installé depuis la version lucid 10.04

Le paragraphe qui suit est OBSOLETE.

Installez votre thème :

sudo apt-get install plymouth-thme-MON_THEME

puis complétez l'installation :

sudo update-alternatives --config default.plymouth
sudo update-initramfs -u
Attention ! Ces manipulations peuvent rendre Grub-pc inopérant et, de ce fait, empêcher Ubuntu de démarrer normalement. Ce qui est proposé ci-dessous est exclusivement réservé aux utilisateurs avancés, maîtrisant parfaitement la ligne de commande et les opérations de secours sur une installation de GNU/Linux dont Grub est cassé.

Il est conseillé de faire une copie de sauvegarde des fichiers que vous allez modifier, dans l'éventualité où votre système viendrait à ne pas se lancer après ces manipulations. Veillez à consulter la documentation de grub-pc à la section Réinstaller/Restaurer AVANT de commencer.

Augmenter la résolution (avec une interface graphique)

Depuis la version Lucid Lynx d'Ubuntu, l'activation des pilotes propriétaires Nvidia ou ATI provoque un bogue qui rend l'affichage du thème de démarrage pixelisé ou "baveux", n'affichant qu'une version textuelle du logo. En réalité c'est parce que l'écran est en basse résolution à ce moment-là.

En utilisant StartUp-Manager

Le développement de StartUp-Manager est arrêté, ce logiciel devient obsolète avec les derniers changements de grub dans Natty. Le développeur recommande de se tourner vers d'autres solutions, comme Grub Customizer1).

Avant d'essayer ces méthodes qui pourraient être dangereuses, vous pouvez essayer d'installer le logiciel StartUp-Manager, il se placera dans le menu Système/Administration.

  • Cochez la case "Afficher l'animation de démarrage" et décochez la case "afficher le texte pendant le redémarrage".
  • Choisissez ensuite la résolution d'écran que vous voulez, puis, dans l'onglet "Configuration avancée" sélectionnez la même résolution d'écran.
  • Fermer le programme, redémarrer, et au démarrage vous verrez si cela a fonctionné.

Sinon, essayez les solutions ci-dessous.

En utilisant Grub Customizer

Se reporter à la page de Grub Customizer.

En utilisant Plymouth Manager de Super Boot Manager

Augmenter la résolution (sans interface graphique)

Il y a cinq façons de régler ce problème en lignes de commande, la deuxième étant légèrement plus simple mais ne fonctionnant pas toujours.

Préambule à l'édition des paramètres

En premier lieu il faudra déterminer quelles résolutions d'écran sont acceptées par Grub et Plymouth. Pour voir cela il faut avoir accès au menu de démarrage de Grub, c'est le menu depuis lequel vous sélectionnez votre système d'exploitation. Dans le cas où n'auriez qu'un seul système d'exploitation, il y a de fortes chances pour que vous n'ayez pas ce menu. Dans ce cas, on peut l'afficher en appuyant sur la touche Majuscule (Shift) ou Echap (Esc) tout de suite après l'affichage de l'écran du manufacturier. 2)

Ensuite dans le menu Grub, appuyez sur la touche "c" pour afficher la console, puis tapez

vbeinfo

La liste des résolutions supportées par Grub s'affiche. Notez celle qui est la plus haute (par exemple: 1280x1024x32). Elle se trouve généralement tout en bas. Puis, appuyez sur la touche Echap (Esc) pour revenir au menu de Grub et démarrer votre ordinateur.

Solution 1

Cette méthode a été testée3) et semble fonctionner pour un grand nombre de configurations.
Avant d'appliquer la solution faites une sauvegarde des fichiers qui seront modifiés !

Lancez le terminal et tapez :

  sudo cp /etc/default/grub /etc/default/grub_$(date +%Y%m%d)

pour créer une copie de sauvegarde des fichiers, que vous pourrez restaurer en cas de problème.

Editez le fichier /etc/default/grub avec les droits administrateur.

gksudo gedit /etc/default/grub

Cherchez la ligne #GRUB_GFXMODE=640x480. Ajoutez en dessous cette ligne en replaçant 1280x1024 par la plus haute résolution que vous avez trouvée précédemment avec vbeinfo :

GRUB_GFXPAYLOAD_LINUX=1280x1024
Pour les versions antérieures à Precise, il peut être nécessaire de décommenter la ligne #GRUB_GFXMODE=640x480 en enlevant le # et remplacer la résolution. La ligne devrait ressembler à ça :
GRUB_GFXMODE=1280x1024

Enregistrez et fermez ce fichier puis exécutez :

sudo update-grub

Ne fermez pas le terminal avant que Grub ne vous dise qu'il a terminé (retour au prompt).

Il peut être utile d'activer le Framebuffer afin d'afficher le logo Ubuntu beaucoup plus tôt avant que le driver de votre carte graphique prenne le relais.
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-initramfs -u

Après un redémarrage, l'affichage devrait se faire en haute résolution. Si ce n'est pas le cas, vérifiez bien la résolution obtenue par vbeinfo (voir préambule).

Si vous ne pouvez plus démarrer Ubuntu suite à cette manipulation (écran restant indéfiniment noir ou sur l'arrière-plan de Grub (violet pour Ubuntu)), rédémarrez l'ordinateur sur la console de Grub de la même manière que vous l'avez fait pour utiliser vbeinfo (appuyer sur Majuscule (Shift), puis C dans le menu de Grub), puis entrez la commande :
set gfxpayload=

Vous pouvez alors revenir au menu de Grub en appuyant sur Échap et démarrer votre ordinateur normalement.

Solution 2

Avant d'appliquer la solution pensez à faire une sauvegarde des fichiers qui seront modifiés !

Lancez le terminal et tapez :

sudo cp /etc/default/grub /etc/default/grub_$(date +%Y%m%d)
sudo cp /etc/initramfs-tools/modules /etc/initramfs-tools/modules_$(date +%Y%m%d)

pour créer une copie de sauvegarde des fichiers, que vous pourrez restaurer en cas de problème.

La démarche est expliquée pour une résolution obtenue par vbeinfo de 1280x1024x24 (voir préambule). Vous devez adapter les modifications à la résolution que vous avez obtenue pour votre ordinateur !

Commencez par installer le paquet v86d, puis éditez grub :

sudo apt-get install v86d
gksudo gedit /etc/default/grub

et remplacez la ligne 9

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

par

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap"

Ne pas oublier les guillemets avant quiet et après ywrap

puis (optionnel, car change juste la résolution de Grub, pas celle du Splash) la ligne 18

#GRUB_GFXMODE=640x480

par

GRUB_GFXMODE=1280x1024

Enregistrez et fermez ce fichier et puis :

gksudo gedit /etc/initramfs-tools/modules

À la fin de ce fichier rajoutez la ligne suivante :

uvesafb mode_option=1280x1024-24 mtrr=3 scroll=ywrap
Chez certains uvesafb a empêché l'ordinateur de s'éteindre lors de son arrêt. Dans ce cas il semble que l'utilisation de vesafb à la place de uvesafb a aidé.

Enregistrez et fermez ce fichier.

et enfin générez à nouveau Grub et initramfs.

sudo update-grub
sudo update-initramfs -u

Après un redémarrage, l'affichage devrait se faire en haute résolution. Si ce n'est pas le cas, vérifiez bien la résolution obtenue par vbeinfo (voir préambule).

Solution 3

FIXME La solution a-t-elle réellement fonctionné pour résoudre le problème des pilotes propriétaires ou a-t-elle simplement désactivé les pilotes propriétaires ?

Avant d'appliquer la solution faites une sauvegarde des fichiers qui seront modifiés !

Lancez le terminal et tapez :

sudo cp /etc/default/grub /etc/default/grub_$(date +%Y%m%d)

pour créer une copie de sauvegarde des fichiers, que vous pourrez restaurer en cas de problème.

Editez le fichier /etc/default/grub avec les droits administrateur.

gksudo gedit /etc/default/grub

Cherchez la ligne #GRUB_GFXMODE=640x480. Par défaut, elle se trouve à la ligne 18, mais il se peut qu'elle se trouve ailleurs. Maintenant, enlevez le "#" de la ligne et remplacez les valeurs après le "=" par la résolution la plus haute trouvée via "vbeinfo", suivie par une virgule suivie de la valeur suivante, etc.

La ligne devrait ressembler à ça

GRUB_GFXMODE=1280x1024x32,1280x1024,640x480

Cette ligne indique à Grub d'augmenter sa résolution avec la première valeur, si elle ne marche pas, il lui indique de prendre la deuxième valeur, et ainsi de suite. S'il ne trouve rien il utilisera 640x480. Il est donc suffisant de n'indiquer qu'une seule résolution.

Ensuite, il faut éditer le fichier /etc/grub.d/00_header avec les droits d'administrateur.

gksudo gedit /etc/grub.d/00_header

Cherchez la ligne gfxmode=${GRUB_GFXMODE}. Elle se trouve sur la ligne 103, par défaut. Et juste en dessous, insérez la ligne suivante :

set gfxpayload=keep
Sous maverick, il semble que cette ligne se trouve ligne 147 et non 103

Sauvegardez. Cette ligne va dire de garder la résolution pendant le chargement d'Ubuntu.

Cette ligne n'existe pas forcément dans tous les fichiers ni même cette instruction. En tout cas pas chez moi (auteur SX1), une solution est en cours de recherche. Si vous avez une solution, éditez ce document.
La solution suivante semble fonctionner et est plus simple que celle indiquée ci-dessus : dans le fichier /etc/default/grub, sous la ligne GRUB_GFXMODE=1280x1024x32,1280x1024,640x480 il faut ajouter GRUB_GFXPAYLOAD_LINUX=keep de cette manière, il n'y a pas a modifier le fichier /etc/grub.d/00_header - Sivitri.

Et enfin…

sudo update-grub

Pour prendre en compte les changements, cela peut prendre un certain temps. Ne fermez pas le terminal avant que Grub ne vous dise qu'il a terminé.

Redémarrez. Admirez.

Si vous ne pouvez plus démarrer Ubuntu suite à cette manipulation (écran restant indéfiniment noir ou sur l'arrière-plan de grub), redémarrez votre ordinateur et lors de l'affichage du menu de grub, appuyez sur la touche c de votre clavier. Lorsque l'invite de commande de grub s'affiche, tapez la commande suivante :

set gfxpayload=

…puis appuyez sur la touche Entrée. Vous pouvez alors revenir au menu de grub en appuyant sur Echap et démarrer votre ordinateur normalement.

Chez certains cette solution semble désactiver les drivers Nvidia, ce qui n'est pas vraiment une solution.

Solution 4

Utiliser plymouth manager, cf. ce site et celui-ci.

Solution 5

Voir ce script pour régler automatiquement le problème chez la plupart des gens. Fonctionne aussi avec BURG.

Afficher Plymouth beaucoup plus tôt

Ceci ne fonctionne pas avec la version Oneiric, mais fonctionne avec les autres.

Plymouth s'affiche tard par défaut, et est précédé d'un tiret noir clignotant qui n'est pas particulièrement esthétique. Ceci est connu dans Launchpad où les raisons de compatibilités matérielles sont expliquées. A noter: démarrer Plymouth plus tôt ne va pas raccourcir le temps de démarrage mais sera plus esthétique.

Pour améliorer ceci en attendant une mise à jour corrective, il faut réaliser ces opérations dans un terminal :

echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-initramfs -u

L'affichage de Plymouth apparaitra beaucoup plus tôt au démarrage suivant.

Si vous avez effectué cette commande, il se peut que vous ne puissiez pas changer le thème. Pour revenir en arrière, supprimez la ligne suivante dans /etc/initramfs-tools/conf.d/splash :
FRAMEBUFFER=y

et relancez

sudo update-initramfs -u

Plusieurs thèmes sont disponibles dans les dépôts. Pour les installer, installez les paquets commençant par plymouth-theme ou depuis un terminal :

sudo apt-get install 'plymouth-theme*'

Puis pour choisir un thème, tapez :

 sudo update-alternatives --config default.plymouth

Vous avez alors un écran de ce type :

 Il existe 6 choix pour l'alternative default.plymouth (qui fournit /lib/plymouth/themes/default.plymouth).

  Sélection   Chemin                                                 Priorité  État
------------------------------------------------------------
* 0            /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.plymouth   100       mode automatique
  1            /lib/plymouth/themes/fade-in/fade-in.plymouth           10        mode manuel
  2            /lib/plymouth/themes/glow/glow.plymouth                 10        mode manuel
  3            /lib/plymouth/themes/script/script.plymouth             10        mode manuel
  4            /lib/plymouth/themes/solar/solar.plymouth               10        mode manuel
  5            /lib/plymouth/themes/spinfinity/spinfinity.plymouth     10        mode manuel
  6            /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.plymouth   100       mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :

Faites votre choix en tapant un numéro au clavier. Pour prendre en compte les changements :

sudo update-initramfs -u

Redémarrez. Admirez !

Il est possible de visualiser le thème Plymouth sans redémarrer. Pour cela, il faut lancer le démon Plymouthd (à chaque nouvelle visualisation) :
sudo plymouthd

Puis lui demander de visualiser le thème actuel :

sudo plymouth --show-splash

Pour quitter, il suffit d'un simple :

sudo plymouth quit
En cas d'installation de l'environnement KDE en plus de Gnome, cette commande permet également de changer le thème qui a généralement été modifié par la même occasion
Pour lancer le démon, avoir un aperçu de 20 secondes, puis quitter l'aperçu en une seule commande, on peut aussi lancer la commande :
sudo plymouthd && sudo plymouth --show-splash && sleep 20 && sudo plymouth quit
Il peut y avoir un problème avec plymouth-theme-spinfinity : au démarrage, l'écran reste noir et les pilotes graphiques ne sont pas chargés/reconnus. Pour arriver au bureau, il faut passer sur une console (ctrl+alt+F1), se connecter et taper
sudo killall plymouth

et repasser sur le bureau graphique (ctrl+alt+F7). Le problème disparaît une fois le thème changé.

Installer un thème et le définir en ligne de commande

1) Vous devez placer les fichiers nécessaires dans /lib/plymouth/themes/, par exemple : /lib/plymouth/themes/mon-theme/ :

sudo cp -r /chemin/vers/le/dossier/de/mon-theme /lib/plymouth/themes/

2) Vous pouvez alors installer le thème désiré (la syntaxe à utiliser peut-être lue dans le manuel man update-alternatives) :

sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/mon-theme/mon-theme.plymouth 200 

3) Ensuite définir votre thème comme thème par défaut :

sudo update-alternatives --set default.plymouth /lib/plymouth/themes/mon-theme/mon-theme.default 

4) Et finalement, reconstruire votre img :

sudo update-initramfs -u

Importer un thème plymouth issu de la distribution Mandriva

L'importation va se réaliser en plusieurs étapes. Il s'agira d'abord de récupérer le thème sous le forme d'un paquet RPM. Avec les droits super utilisateur, extraire les fichiers du paquet dans le répertoire des thèmes utilisés pour votre distribution et modifier quelques lignes de configuration. Pour finalement pouvoir activer votre nouveau thème.

  • Récupérer un thème contenu dans un paquet RPM par exemple celui, malheureusement en langue allemande mais terriblement 'geek attitude', de tigger-gg sur kde-look.org.
  • Ouvrir avec les droits super utilisateur le paquet précédemment téléchargé avec un gestionnaire d'archive (par exemple File Roller installé par défaut). Parcourir successivement les sous-dossiers '.' , 'usr' , 'share' pour parvenir au dossier 'plymouth'. Sélectionnez-le afin de l'extraire dans le répertoire 'lib' à la racine du système de fichier.
Pour plus d'informations concernant les répertoires '.', 'usr', 'share', 'lib' voir les systèmes de fichiers sous Linux
  • Ouvrir avec les droits super utilisateur le fichier '/lib/plymouth/themes/mud-waiting/mud-waiting.plymouth' avec votre logiciel d'édition de texte préféré (par défaut Gedit). Modifier les chemins sous [script] pour votre configuration (remplacer le chemin '/usr/share' par '/lib'). Hop, finalement enregistrer vos modifications avant d'activer le thème que vous venez d'installer.

2)
Une autre solution consiste à modifier Grub pour l'obliger à afficher le menu en éditant le fichier /etc/default/grub et en commentant la ligne n°5 "GRUB_HIDDEN_TIMEOUT=0" en ajoutant # au début de la ligne. Plus de détails sur cette page.
3)
sur Lucid, Maverick, Precise, Raring et Saucy 64 bits sur une carte Nvidia (driver propriétaire) et sur Lucid 32 bits sur une carte VIA (driver non propriétaire) avec des résolution de 1280x1024 et 1440x900
  • plymouth.1391376688.txt.gz
  • Dernière modification: Le 02/02/2014, 22:31
  • par YoBoY