Ab Ubuntu 10.04 Lucid Lynx wird für die Darstellung des grafischen "Boot Splash", d.h. die grafische Animation während des Startvorgangs, Plymouth
verwendet. Dieses wurde von Red Hat entwickelt und beispielsweise in Fedora 10 eingesetzt, wo es zu einem flackerfreien Bootvorgang führt. Plymouth ersetzt das in die Jahre gekommene usplash.
Ähnlich wie bei usplash befinden sich für die einzelnen Ubuntu-Derivate wie Kubuntu, Xubuntu, usw. spezielle Standarddesigns in den Paketquellen [1]:
plymouth-theme-ubuntu-logo
plymouth-theme-kubuntu-logo
plymouth-theme-ubuntustudio-logo
xubuntu-plymouth-theme
plymouth-theme-ubuntu-text
Weiterhin finden sich auch noch verschiedene, nicht Ubuntu-spezifische Designs:
plymouth-theme-sabily
plymouth-theme-solar
plymouth-theme-glow
plymouth-theme-spinfinity
Eine vollständige Liste lässt sich z.B. über die Paketverwaltung Synaptic mit dem Stichwort "plymouth" finden.
| |
| plymouth-theme-ubuntu-logo |
| |
| plymouth-theme-sabily |
| |
| plymouth-theme-solar |
| |
| plymouth-theme-glow |
| |
| plymouth-theme-spinfinity |
Achtung! Andere Designs unterstützen meist keine Rückmeldung bei einem Dateisystemcheck, d.h. dass dann in Plymouth kein Fortschritt darüber angezeigt wird.
Um das aktuelle Design zu ändern, muss zunächst eines der o.g. Pakete installiert [1] werden. Anschließend ruft man folgenden Befehl in einem Terminal-Fenster [2] auf:
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
Die allgemeine Syntax lautet:
sudo plymouth [OPTION...] [COMMAND [OPTION...]...]
Eine Übersicht erhält man mit:
sudo plymouth
Besonders bei der Entwicklung von neuen Designs kann es sinnvoll sein, den aktuellen Boot-Bildschirm ("splash") zu betrachten. Dazu muss das Paket:
plymouth-x11
installiert sein - erst dann kann der Plymouth-Daemon korrekt im Terminal [2] mit:
sudo plymouthd
gestartet werden. Anschließend kann das Bild mit
sudo plymouth --show-splash
angezeigt werden.
Mit dem Befehl
sudo plymouth quit
kann das Fenster bzw. die Fenster (je nach eingestellter Pixelzahl) mit dem Vorschaubild wieder geschlossen werden.
Wer das Ganze auch mit einer evtl. Animation ansehen möchte, kann folgenden Befehl verwenden:
sudo plymouthd; sudo plymouth --show-splash ; for ((I=0; I<10; I++)); do sudo plymouth --update=test$I ; sleep 1; done; sudo plymouth quit
Plymouth verwendet für seine Designs eine eigene Skriptsprache. So ist es möglich, ein installiertes Design einfach an den eigenen Geschmack anzupassen. Die installierten Designs befinden sich im Verzeichnis /lib/plymouth/themes/, wobei jedes Design in einem eigenen Unterordner liegt.
Im jeweiligen Ordner enthalten sind eine Datei mit dem Namensschema DESIGNNAME.plymouth, die Informationen über das Design enthält, und eine Datei DESIGNNAME.script. Diese steuert das Aussehen und Verhalten des Designs. Durch Anpassen dieser Datei kann das Design entsprechend geändert werden.
| |
| Das Ubuntu-Design mit schwarzen Hintergrund |
Standardmäßig besteht der Ubuntu-Bootsplash in Ubuntu Lucid Lynx 10.04 aus einem lila Hintergrund und dem Ubuntu-Logo. Wenn einem die Farbe nicht gefällt oder die Farbe falsch dargestellt wird (siehe Abschnitt Probleme), genügt es, die Datei /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.script in einem Editor [3] mit Root-Rechten [4] zu öffnen und die Zeilen 166 und 167 zu bearbeiten. Standardmäßig sehen diese so aus:
Window.SetBackgroundTopColor (0.19, 0.04, 0.14); # Nice colour on top of the screen fading to Window.SetBackgroundBottomColor (0.16, 0.00, 0.12); # an equally nice colour on the bottom
Die beiden Anweisungen bedeuten, dass der Hintergrund aus einem vertikalen Farbverlauf von #300a24 nach #2c001e besteht. Dabei entsprechen die drei Zahlen in den Klammern den normalisierten (0.0-1.0) RGB-Werten der gewünschten Farben, die man durch Division der Zahlen durch 255 erhält. Beispiele zum RGB-Farbraum findet man hier
.
Möchte man den Start-Bildschirm z.B. einfarbig schwarz haben, so ändert man beide Zeilen zu:
Window.SetBackgroundTopColor (0.0, 0.00, 0.0); # Nice colour on top of the screen fading to Window.SetBackgroundBottomColor (0.0, 0.00, 0.0); # an equally nice colour on the bottom
Nachdem man die Änderungen gespeichert hat, muss im Terminal
sudo update-initramfs -u -k all
eingegeben werden.
Folgendes ist bisher nur für Natty getestet: Wenn Grub2 sofort einen Eintrag lädt, aber vor dem Bootsplash für eine Sekunde noch einen einfarbigen Bildschirm anzeigt, sollte man noch die Datei /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.grub (wiederum in einem Editor [3] mit Root-Rechten [4]) bearbeiten. In dieser Datei finden sich die absoluten RGB-Werte (0 - 255) für die Hintergrundfarbe. Die geänderte Hintergrundfarbe wird nach dem Speichern mittels
sudo update-grub
an Grub übergeben.
Natürlich kann man für Plymouth auch ein Design ganz nach den eigenen Vorlieben entwerfen. Eine Anleitung dazu findet man im Plymouth theming guide
. Außerdem befindet sich in den Paketquellen von Ubuntu ein Beispieldesign, welches als Ausgangspunkt für die eigene Entwicklung genutzt werden kann:
plymouth-theme-script (universe, ab Ubuntu 10.04 Lucid Lynx)
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.
Man kann das Problem lösen, indem man in einem Editor mit Root-Rechten in die Datei /etc/default/grub die folgende Zeile einfügt:
GRUB_GFXPAYLOAD_LINUX=1280x1024x32
Die Auflösung muss an die entsprechende Bildschirmauflösung angepasst werden. Nachdem man den korrekten VBE-Mode ermittelt hat, muss man alle drei Werte (Breite x Höhe x Farbtiefe) eintragen. Der Abschnitt sollte schließlich so aussehen:
... # 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=1280x1024x32 ...
Damit die Änderungen übernommen werden, muss man Grub aktualisieren:
sudo update-grub
Für einen flackerfreien Startvorgang greift Plymouth auf das neue, Kernel-basierte Verfahren Mode-setting (KMS) zurück. Dieses wird derzeit von den proprietären Grafiktreibern von ATI und NVIDIA nicht unterstützt. 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.
Ist man von diesem Problem betroffen, so kann man unter Ubuntu 10.04 und 10.10 folgende (englischsprachige) Lösung mittels eines Skriptes versuchen:
Plymouth und proprietäre Treiber mittels Script 
Dazu muss sichergestellt sein, dass das Paket
hwinfo
installiert ist.
Fremdsoftware kann das System gefährden.
Anmerkung: Die Anleitung für die Skript-Lösung bitte vorher genau durchlesen!
Das Skript stellt auch die Konsolen-Auflösung (TTY 1-6) auf den gewählten Wert ein.
Funktioniert dies nicht, so muss man die Open-Source-Treiber für seine Grafikkarte installieren:
Alternativ können auch Open-Source-Treiber verwendet werden:
NVIDIA-Grafikkarten: Grafikkarten/Nvidia/nouveau
ATI-Grafikkarten: Grafikkarten/ATI/radeon
Intel Grafikkarten sind von dem Problem generell nicht betroffen. Für sie existieren nur Open-Source-Treiber, die KMS (sofern aktuell) generell unterstützen.
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 Vorgehen ist in den Abschnitten GRUB 2/VBE-Modi ermitteln und GRUB 2/Auflösung festlegen 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.
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:
Man editiert die kernel-Zeile in GRUB (grub.cfg in /boot/grub oder menu.lst) und fügt den Kernel-Parameter noplymouth ein. Beispiel:
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 auch Plymouth ganz entfernen oder einen Kernelparameter in die Datei /etc/default/grub einfügen:
GRUB_CMDLINE_LINUX_DEFAULT="noplymouth"
Zu beachten ist bei der folgenden Lösung , dass die Auflösung für das Grub-Menü einerseits mit der Variablen
GRUB_GFXMODE=
zu setzen ist und die für den Splash mit der Variablen
GRUB_GFXPAYLOAD_LINUX
andererseits eingestellt werden muss.
Das Vorgehen zur Ermittlung der Auflösung ist in den Abschnitten GRUB 2/VBE-Modi ermitteln und GRUB 2/Auflösung festlegen beschrieben.
Die kernel-Zeile ergänzt man, indem man oben in der Datei /etc/default/grub die Variable
GRUB_CMDLINE_LINUX=""
durch Voranstellen von # auskommentiert und unterhalb der Variablen
GRUB_GFXPAYLOAD_LINUX=<ermittelter Wert>
diese wieder mit folgendem (ggf. zusätzlichen) Inhalt eingefügt:
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:
sudo update-grub
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.
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.
Benutzer, die Plymouth nicht nutzen möchten, können das Paket wegen diverser Paketabhängigkeiten nicht einfach deinstallieren. Hintergrund: die Ubuntu-Entwickler weigern sich leider, den Fehler 556372
zu beheben und die "harte Abhängigkeit" ("depends") der Pakete mountall und cryptsetup von Plymouth durch ein "empfiehlt" ("recommends") zu ersetzen.
Allerdings stellt Dave Lentz mittlerweile ein Personal Package Archiv (PPA) zur Verfügung, welches die Pakete mountall und cryptsetup ohne diese Abhängigkeiten enthält und somit eine Deinstallation von Plymouth ermöglicht. Auch in diesem Foren-Thread stellt ingo2 derart "befreite" Pakete für amd64 und i386 zur Verfügung und gibt Tipps und Hilfe. Dabei werden die zu installierenden Dateien der Pakete nicht verändert, und auch die Checksummen (md5sum's) zur Verifikation bleiben gleich.
Lediglich in der Datei control des Pakets wird die dort hinterlegte Abhängigkeit von Plymouth entfernt und die Pakete zu einem neuen .deb-Paket gepackt. Eine Deinstallation von Plymouth mit apt-get oder Synaptic entfernt dann nicht mehr das halbe System.
Falls man verschlüsselte Partitionen mit cryptsetup verwendet, reicht die Installation des gepatchten Pakets mountall nicht aus, da auch cryptsetup eine Abhängigkeit von Plymouth besitzt. Wenn man dann versucht, Plymouth ganz zu entfernen, wird auch cryptsetup mit entfernt werden, was mit einen nicht mehr funktionierenden System endet.
Ein modifiziertes cryptsetup-Paket ist inzwischen auch im PPA und über diesem Foren Thread verfügbar. Diese gepatchte Version von cryptsetup wurde inzwischen erfolgreich bei einem verschlüsselten /home-Verzeichnis getestet. Auch die Passwort-Abfrage beim Bootvorgang (Pre-Boot Authentication) auf einem (bis auf /home) vollverschlüsselten System funktioniert - getestet nach Entfernen der quiet-Bootoptionen.
Um Plymouth unter Verwendung des PPA zu deinstallieren, muss man folgende Befehle ausführen, um zuerst die Softwarequelle des PPAs einzubinden:
sudo apt-add-repository ppa:dtl131/mediahacks sudo apt-get update
Auch in Synaptic empfiehlt es sich, zu Beginn die Paketquellen neu zu laden. Danach sucht man (nicht mit der Schnellsuche, dort wird es eventuell nicht gefunden) das Paket mountall, welches auf jeden Fall ausgetauscht werden muss. Das Paket markieren, und dann mit "Paket -> Version erzwingen" die Version 2.15-2~mediahacks2 (lucid) auswählen und installieren.
Jetzt lässt sich Plymouth (mitsamt den zugehörigen Designs) problemlos deinstallieren. Hierbei sollte die Option "Vollständiges Entfernen" gewählt werden, damit es auch sicher aus der initrd entfernt wird.
Bitte unbedingt prüfen, ob nicht noch andere wichtige Pakete mit entfernt werden, bevor man auf "Anwenden" klickt!
Wird dabei cryptsetup zur Deinstallation vorgeschlagen, muss man auch dieses Paket gegen eine angepasste (gepatchte) Version austauschen, bevor man Plymouth endgültig deinstalliert.
Falls Synaptic vorschlägt, auch die Metapakete ubuntu-desktop oder ubuntu-netbook zu deinstallieren, kann man dies getrost akzeptieren. Diese Pakete sind nur als recommended (empfohlen, aber nicht zwingend erforderlich) aufgeführt. Dies liegt daran, dass Synaptic so eingestellt ist, dass auch Pakete, die als recommended gekennzeichnet sind, immer mit (de-)installiert werden. Dieser "Schönheitsfehler" tritt bei der nachfolgenden Methode mit apt nicht auf, da apt defaultmäßig nur harte Abhängigkeiten berücksichtigt.
Nicht das Paket libplymouth2 entfernen, es wird nach wie vor benötigt, da es von Grafiktreibern referenziert wird.
Alternativ geht es natürlich auch mit
sudo apt-get purge plymouth
Dabei wird auch Plymouth aus der initrd entfernt, was meistens zu kürzeren Bootzeiten führt.
Diese wesentlich einfachere Möglichkeit bietet sich ebenfalls an. Sie soll hier am Beispiel der mountall von ingo2 beschrieben werden.
Das zur eigenen Architektur (32-/64-Bit) passende Paket in der neuesten Version aus dem Foren Thread herunterladen und installieren mit:
sudo dpkg -i <Dateiname des gepatchten Paketes>
Die Versionen von ingo2 mit Apt-Pinning festschreiben. Dazu mit Root-Rechten [4] die Text-Datei /etc/apt/preferences anlegen bzw. editieren [3] und folgende Zeilen eintragen:
Explanation: pin a mountall version build by ingo which Explanation: does not declare plymouth als requirement. Package: mountall Pin: version 2.*ingo* Pin-Priority: 1001
Danach den apt-cache (Zwischenspeicher) mit dem Befehl:
sudo apt-cache gencaches
aktualisieren. Mit
apt-cache policy
kann man überprüfen, ob das Pinning erfolgreich war. Am Ende der Ausgabe sollte etwas wie
Per Pinning verwaltete Pakete:
mountall -> (nicht gefunden)stehen. Das zeigt an, dass mountall gepinnt ist, jedoch keine Installationsquelle (Repository) dazu gefunden wurde - ist also ok.
Jetzt kann man Plymouth z.B. mit:
sudo apt-get purge plymouth
deinstallieren. Dabei wird auch Plymouth aus der initrd entfernt, was meistens zu kürzeren Bootzeiten führt.
Für alle, die jetzt auch noch die vollständigen Bootmeldungen (weiß auf schwarz) sehen wollen: in der Grub-Konfiguration quiet abschalten. Jetzt bootet auch Ubuntu 10.04 wieder wie ein "normales" Linux-System.
In einem Beispiel startete nach der Deinstallation von Plymouth ein Nettop "Lenovo IdeaPad S10-2" mit Atom-CPU von einer SSD (40 GB) innerhalb von 14 Sec. - vom BIOS-Bildschirm bis zum Anmeldedialog in GDM.
Diese Revision wurde am 27. Dezember 2011 um 14:17 Uhr
von BartS erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet:
Ubuntu, System
2004 – 2011 ubuntuusers.de • Einige Rechte vorbehalten