Diashow beim Booten mit Plymouth
Fortschritt
Wenn das Bild nicht den gesamten Bildschirm ausfüllt, kann der Hintergrund für die Fortschrittsanzeige verwendet werden:
fun progress_callback(zeit, fortschritt) { Window.SetBackgroundTopColor(0, 0.5 * fortschritt, 1 - fortschritt); Window.SetBackgroundBottomColor(0, 0.5, 0) }
Die Hintergrundfarbe wird als Farbverlauf von oben nach unten angegeben. Die Farbe am oberen Bildschirmrand wechselt im Laufe des Bootvorgangs von blau zu grün, die Farbe am unteren Bildschirmrand ist durchgehend grün. Eine weitere Möglichkeit ist es, ein Bild in den Bildschirm hineinwachsen zu lassen:
fun progress_callback(zeit, fortschritt) { if (fortschritt > letzter_fortschritt + 1/50) { letzter_fortschritt = fortschritt; foto = Sprite(foto_image.Scale(foto_image.GetWidth() * fortschritt, foto_image.GetHeight() * fortschritt)); foto.SetX((Window.GetWidth() - foto.GetImage().GetWidth()) / 2); foto.SetY((Window.GetHeight() - foto.GetImage().GetHeight()) / 2); } } foto_image = Image("Foto.png"); foto = Sprite(); letzter_fortschritt = -1; Plymouth.SetBootProgressFunction(progress_callback);
Abschluss
Nach dem Testen und nach jedem Ändern der Bilder muss die initiale Ramdisk initrd
aktualisiert werden (siehe oben). In dieser Datei ist das gesamte Themen-Verzeichnis enthalten. Sie kann daher je nach Anzahl und Größe der Bilder schnell einige Megabyte größer werden.
Fazit
Plymouth bietet vielfältige Möglichkeiten, den Bootprozess graphisch ansprechend zu gestalten. Dabei ist die Skriptsprache leicht zu erlernen.
Autoreninformation
Dr. Diether Knof ist seit 1998 Linux-Anwender. In seiner Freizeit entwickelt er das freie Doppelkopfspiel FreeDoko.