Plymouth

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Ausbaufähige Anleitung

Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.


Anmerkung: Es besteht die Möglichkeit, das Design eines Themas von Plymouth zu modifizieren oder ein eigenes Thema komplett selber zu bauen. Beides kann im Artikel noch ergänzt werden oder, alternativ, in einem separaten How-To erklärt werden.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Installation von Programmen

  2. ⚓︎ Ein Terminal öffnen

  3. ⚓︎ mit Root-Rechten arbeiten

  4. ⚓︎ Einen Editor öffnen

Inhaltsverzeichnis
  1. Installation
  2. Aufruf
    1. Plymouth beim Bootvorgang deaktivieren
  3. Plymouth Thema ändern
  4. Problembehebung
    1. Anzeige zu kurz oder zu spät
    2. Geringe Auflösung mit proprietären Nvidi...
    3. Anzeige flackert, Bootsplash nur in geri...
    4. System bleibt hängen
    5. Plymouth verdeckt Meldungen
  5. Links

Für die Darstellung des grafischen "Boot Splash", d.h. die grafische Animation während des Startvorgangs, wird Plymouth 🇬🇧 verwendet. Dieses wurde von Red Hat entwickelt, um einen „flackerfreien“ Bootvorgang zu ermöglichen, bei dem nicht zwischen verschiedenen Grafikmodi umgeschaltet wird. Plymouth ersetzt das früher verwendete usplash.

Installation

Plymouth selber ist Teil jeder Ubuntu-Installation und ist über das Paket plymouth (main) installiert. Für den "Boot Splash" befinden sich für die einzelnen Ubuntu-Derivate wie Kubuntu, Xubuntu, usw. eigene Standardthemen (themes) in den Paketquellen, die in der Regel an das Design des jeweiligen Derivates angepasst sind. Ein oder mehrere Plymouth Themen bereits in der Standardinstallation enthalten.

Folgende Themen für Ubuntu und dessen Derivate sind in den Paketquellen:

Weiterhin finden sich dort auch noch verschiedene, nicht Ubuntu-spezifische Themen:

Eine vollständige Liste lässt sich z.B. über die Paketverwaltung Synaptic mit dem Stichwort "plymouth" finden.

Hinweis:

Bei manchen Themen fehlt die Rückmeldung bei einem Dateisystemcheck. In Plymouth wird dann keine Fortschrittsanzeige angezeigt und der Bootvorgang scheint ohne Angabe von Gründen endlos zu dauern.

Aufruf

Plymouth wird beim Systemstart automatisch geladen und ausgeführt, dafür ist die systemd Service Unit plymouth-start.service zuständig.

Normalerweise ist es nicht notwendig, direkt mit Plymouth bei laufendem System zu interagieren – aber es ist möglich. Die allgemeine Syntax zum Aufruf von Plymouth lautet:

sudo plymouth [OPTION...] [BEFEHL [OPTION...]...] 

Die Optionen sind in der man Page zu Plymouth zu finden.

Plymouth beim Bootvorgang deaktivieren

Möchte man den Plymouth "Boot Splash" deaktivieren, z.B. um die Kernel-Meldungen während des Bootvorgangs zu sehen, die durch Plymouth grafisch überlagert werden, kann man einfach eine Bootoption von GRUB 2 ändern. Dazu bearbeitet man die Datei /etc/default/grub mit einem Editor und Root-Rechten[3][4] und ändert die Zeile:

1
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

in

1
GRUB_CMDLINE_LINUX_DEFAULT="noplymouth"

Es ist auch möglich, GRUB_CMDLINE_LINUX_DEFAULT="" zu verwenden. Anschließend muss GRUB 2 mit folgendem Befehl aktualisiert werden:

sudo update-grub 

bevor man den Rechner zur Kontrolle neu startet. Möchte man Plymouth später wieder aktivieren, macht man die Änderung in der GRUB 2-Konfiguration wieder rückgängig.

Es ist auch möglich, das Verhalten nur für den aktuellen Startvorgang zu ändern. Siehe hier.

Plymouth Thema ändern

Um das aktuelle Thema zu ändern, muss zunächst eines der o.g. Pakete für ein weiteres Thema installiert[1] werden. Alle bereits installierten Themen findet man im Verzeichnis /usr/share/plymouth/themes in einem jeweils eigenem Unterverzeichnis.

Zuerst muss man das Thema aus dem Paket zusätzlich noch über den Terminal aktivieren[2][3], im folgenden für das plymouth-theme-spinner als Beispiel gezeigt:

sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/spinner/spinner.plymouth 100 

Jetzt kann man über den folgenden Befehl das Thema auswählen:

sudo update-alternatives --config default.plymouth 

Aus der nun erscheinenden Tabelle sucht man sich das gewünschte Design aus, gibt die entsprechende Nummer (aus der ersten Spalte) ein und bestätigt die Eingabe mit . Anschließend müssen die Einstellungen noch ins Bootimage geschrieben werden. Dies geschieht mit dem Befehl:

sudo update-initramfs -u -k all 

Problembehebung

Anzeige zu kurz oder zu spät

Es kann vorkommen, dass der "Boot Splash" nur kurz bzw. erst am Ende oder auch gar nicht angezeigt wird. Dann hilft in der Regel ein zusätzlicher Eintrag in /etc/initramfs-tools/conf.d/splash. Dazu öffnet man ein Terminal[2] und gibt folgenden Befehl ein:

echo "FRAMEBUFFER=y" | sudo tee -a /etc/initramfs-tools/conf.d/splash && sudo update-initramfs -u -k all 

Damit sollte beim nächsten Start Plymouth (zeitlich) richtig angezeigt werden.

Geringe Auflösung mit proprietären Nvidia-Treiber

Man kann das Problem lösen, indem man in einem Editor mit Root-Rechten[3][4] in die Datei /etc/default/grub die folgende Zeile einfügt:

1
GRUB_GFXPAYLOAD_LINUX=1280x1024-32

Die Auflösung muss an die entsprechende Bildschirmauflösung angepasst werden. Nachdem man die korrekte Auflösung ermittelt hat, muss man alle drei Werte (Breite x Höhe - Farbtiefe) eintragen. Der Abschnitt sollte schließlich so aussehen:

1
2
3
4
5
6
7
...
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
GRUB_GFXPAYLOAD_LINUX=1280x1024-32
...

Damit die Änderungen übernommen werden, muss man GRUB 2 aktualisieren (siehe oben).

Anzeige flackert, Bootsplash nur in geringer Auflösung, Bootmeldungen sichtbar

Für einen flackerfreien Startvorgang greift Plymouth auf das Kernel-basierte Verfahren Mode-setting (KMS) zurück. Dadurch kann der Grafikmodus des Framebuffers nicht durch Plymouth gesetzt werden, und der "Bootsplash" wird nur in einer Auflösung von 640x480 Pixeln sowie einer Farbtiefe von 4 Bit pro Pixel angezeigt. Des Weiteren sind oft Bootmeldungen mitten im Bootsplash zu sehen, was unschön aussieht.

Open-Source-Treiber verwenden

Alternativ können auch Open-Source-Treiber verwendet werden:

GRUB 2 verwenden

Möchte man aber weiterhin den proprietären Treiber verwenden, kann in diesem Fall der Bootloader GRUB 2 Abhilfe schaffen. Dieser wird direkt vor Plymouth geladen und bietet ebenfalls die Möglichkeit, den Grafikmodus des Framebuffers zu setzen, bedient sich jedoch einer anderen Technik, die auch ohne KMS funktioniert.

Zu beachten ist bei dieser Lösung allerdings, dass die Konsolen des Systems nun auch in dem gewählten Grafikmodus angezeigt werden und dass der "Bootsplash" während des Startvorganges wahrscheinlich mehrmals flackert! Das genaue Vorgehen ist im Abschnitt GRUB_2/Aussehen Auflösung beschrieben.

Nach dem Neustarten des Systems wird der Bootsplash nun wie gewünscht angezeigt. Dabei kann es allerdings vorkommen, dass beim standardmäßigen Plymouth-Design plymouth-theme-ubuntu-logo der Hintergrund in einem sehr hellen Rosa anstatt Lila dargestellt wird. In diesem Fall bietet es sich an, die Hintergrundfarbe wie im Abschnitt Hintergrundfarbe des Bootsplash ändern beschrieben zu ändern.

System bleibt hängen

Auf manchen Systemen funktioniert Plymouth nicht korrekt. Dies äußert sich z.B. darin, dass das System nicht mehr bis zum Anmelde-Bildschirm ("login screen") bootet oder z.B. bei einer Dateisystem-Überprüfung ("file system check") immer langsamer wird und dabei bis zu einer Stunde braucht. Ursache hierfür ist meistens auch Plymouth. Das kann man zunächst recht einfach testen:

Kleine Lösung

Variante eins

Vor dem Systemstart editiert man im Menüeintrag für GRUB die Zeile für den kernel iund fügt den Boot-Parameter noplymouth ein. Beispiel:

1
linux	/boot/vmlinuz-2.6.32-22-generic-pae root=UUID=c2d6eea9-80d6-423e-a9b0-948f5de40106 ro  noplymouth

Falls damit das System korrekt (ohne "Boot Splash") bootet, kann man als dauerhafte Lösung entweder diesen Parameter verwenden (einfach, siehe Deaktivieren) oder Plymouth komplett entfernen (kompliziert).

Variante zwei

Zu beachten ist bei der folgenden Lösung , dass die Auflösung für das GRUB-2-Menü einerseits mit der Variablen

  • GRUB_GFXMODE=

zu setzen ist und andererseits die für den Splash mit der Variablen

  • GRUB_GFXPAYLOAD_LINUX

eingestellt werden muss.

Das Vorgehen zur Ermittlung der Auflösung ist in den Abschnitten GRUB 2/Auflösung beschrieben.

Die kernel-Zeile ergänzt man, indem man in der Datei /etc/default/grub die Variable

1
GRUB_CMDLINE_LINUX="quiet splash"

durch Voranstellen von # mit Root-Rechten[3][4] auskommentiert und unterhalb der Variablen

1
GRUB_GFXPAYLOAD_LINUX=ERMITTElTER_WERT

diese wieder mit folgendem (ggf. zusätzlichen) Inhalt eingefügt:

1
GRUB_CMDLINE_LINUX="nomodeset video=uvesafb:mode_option=$GRUB_GFXPAYLOAD_LINUX,mtrr=3,scroll=ywrap"

In beiden Fällen ist noch eine Aktualisierung der Grub-Konfiguration notwendig (siehe oben).

Große Lösung

Wenn das oben Beschriebene nicht hilft, ruft man den Paketmanager (bzw. die Software-Verwaltung) auf und entfernt alle Plymouth-Design-Pakete. Diese lauten in der Regel

  • plymouth-theme-xxxx-yyyy

Damit ist der Start von Plymouth (Splash-Sreen) wegen fehlender Pakete nicht mehr möglich, jedoch erfolgt auch in Abhängigkeit der anderen Kernel-Optionen (splash quiet) bis zur Anmeldung (Login-Screen) ggf. keine Anzeigen mehr.

Damit verkürzt sich bei beiden Maßnahmen die Bootzeit bis zur Anmeldung (Login-Screen) nochmals um bis zu 10 Sekunden.

Plymouth verdeckt Meldungen

Wenn man hinter Plymouth liegende Meldungen sehen möchte, kann man durch Betätigen der Taste Esc , F1 oder die Ansicht zwischen Plymouth und Hintergrund umschalten und danach Plymouth durch nochmaliges Betätigen wieder einschalten.

Außerdem können die Meldungen des letzten Bootvorgangs mit Hilfe von journalctl ausgegeben werden:

journalctl -b