Die Desktop-Optik passen Poweruser mit ein paar Klicks an. Doch es erfordert einiges Know-how, um das Grub-Bootmenü, den Bootsplash und den KDE-Startbildschirm den eigenen Vorlieben anzupassen.
Die Ubuntu-Spielarten (“Flavors”) sorgen nicht nur für Abwechslung bei der Desktop-Umgebung, sie bringen auch unterschiedliche, vom Bootsplash bis zum Desktop einheitlich gestaltete Farbvarianten ins Spiel. Der OpenSuse-Installer dagegen bietet lediglich eine Auswahl bei der Desktop-Umgebung, richtet aber ansonsten das ganze System stets in Grüntönen ein.
Den Desktop-Hintergrund und das Farbschema passen Anwender schnell dem eigenen Geschmack an. Beim Grub-Bootmenü (Abbildung 1) und dem Bootsplash-Screen (Abbildung 2) gelingt das aber nicht so leicht. Diese Ausgabe der OpenSuse-Tipps beschreibt daher, wie Sie Ihr System vom Grub-Bootmenü bis zum KDE-Startbildschirm optisch modifizieren und vereinheitlichen.
Bequem mit YaST
Dank YaST fällt es leicht, ein anderes Theme für das Grub-Bootmenü auszuwählen: Das YaST-Modul Bootloader in der Rubrik System stellt ein grafisches Werkzeug dafür bereit (Abbildung 3). Es genügt, die zu einem Theme gehörige Datei theme.txt auszuwählen. Alles Weitere erledigt YaST nach einem Klick auf OK.

Abbildung 3: Im mittleren Reiter des YaST-Moduls Bootloader wählen Sie die Konfigurationsdatei theme.txt eines auf dem System installierten Grub-Themes.
Allerdings ist unter OpenSuse nur das Default-Theme vorinstalliert. Als Paket gibt es noch grub2-theme-breeze zur nachträglichen Installation, das zum schlicht schwarz-weißen Original-KDE-Startbildschirm passt. Gut 350 Themes hält dagegen Pling.com [1] vor, das ehemalige Opendesktop.org. Es genügt, das von dort heruntergeladene Zip-Archiv zu entpacken und den Unterordner mit der Datei theme.txt mit Root-Rechten ins Verzeichnis /boot/grub2/themes/ zu verschieben.
Starten Sie dann das YaST-Modul Bootloader, und öffnen Sie den Reiter Kernel-Parameter. Klicken Sie auf Durchsuchen hinter dem Eingabefeld für das Konsolen-Thema, und navigieren Sie im Dateiwähler zum dorthin kopierten Theme-Ordner unter /boot/grub2/themes/. Dort wählen Sie die Datei theme.txt und klicken in YaST auf OK. Nach einem Neustart des Systems können Sie die neue Optik des Bootmenüs bewundern (Abbildung 4).

Abbildung 4: Reine Farbkosmetik für das Bootmenü setzt keine tiefergehende Kenntnis der Grub-Konfigurationssyntax voraus.
Ein eigenes Grub-Theme zu erstellen, gestaltet sich relativ kompliziert. Leichter gelingt es, ein vorliegendes Theme den eigenen Wünschen anzupassen: Um Hintergrundbild und Farben nach Ihren Vorstellungen zu gestalten, brauchen Sie nur wenige Elemente der Grub-Theme-Beschreibungssprache [2] zu beherrschen. Das demonstrieren wir im Folgenden am Default-Theme von OpenSuse.
Selbst gemacht
Kopieren Sie zunächst den Ordner /boot/grub2/themes/OpenSUSE/ zum Bearbeiten in das Home-Verzeichnis. Öffnen Sie dann die Datei theme.txt in einem Texteditor. Sie besteht aus fünf Abschnitten: einer Definition globaler Eigenschaften zu Beginn sowie den Abschnitten + image {}, + boot_menu {}, progress_bar {} und + hbox {}. Sie definieren das OpenSuse-Logo, die Restzeitanzeige bis zum automatischen Start, das eigentliche Bootmenü sowie die untere Zeile mit Tastatur-Shortcuts.
Um zunächst die Farben des Grub-Menüs anzupassen, verändern Sie einige Deklarationen in theme.txt und die PNG-Dateien im Themen-Ordner. Der hexadezimale Wert hinter desktop-color: legt die Hintergrundfarbe fest. Das KDE-Programm KColorChooser liefert die passenden Werte mithilfe des gewohnten KDE-Farbwählers. Abbildung 4 zeigt ein Grub-Menü, bei dem die Werte für desktop-color im globalen Vorspann und fg_color, bg_color sowie border_color im Abschnitt + progress_bar {} angepasst wurden.
Ganz erledigt ist die Arbeit damit aber nicht: Die Farben der Balken, die den ausgewählten Menüpunkt hervorheben, basieren nicht auf einer Deklaration in theme.txt, sondern auf Bitmaps. So lassen sich 3D-Effekte realisieren, auf die das OpenSuse-Theme allerdings verzichtet. Um die Farbe des Hervorhebungsbalkens anzupassen, öffnen Sie die Datei highlight_c.png in Gimp (Abbildung 5). Die slider_*-Dateien sind für die Darstellung einer Scrollbar zuständig, die erst erscheint, wenn der Platz nicht mehr für alle Einträge des Startmenüs ausreicht.

Abbildung 5: OpenSuses Grub-Konfiguration im grafischen Modus verwendet Bitmaps für den Hervorhebungsbalken. Ein Umfärben gelingt in Gimp mühelos.
Klicken Sie in Gimp auf das obere Farbquadrat direkt unter der Werkzeugpalette (in Abbildung 5 hervorgehoben). In das Feld HTML-Notation des Gimp-Farbwählers geben Sie dann Hexadezimalwerte wie in theme.txt ein. Mithilfe des Füllen-Werkzeugs (ebenfalls hervorgehoben) färben Sie die ehemals grünen Flächen Ihren Wünschen entsprechend. Die Datei highlight_c.png besteht nur aus einem einzigen Pixel. Zoomen Sie also in Gimp bei gehaltenem [Strg] mit dem Mausrad so lange nach oben, bis es in ausreichender Größe sichtbar wird.
Für 3D-Designs wichtig zu wissen: Die Namensgrundbestandteile highlight und slider ergeben sich aus den Werten für selected_item_pixmap_style (=highlight_*.png) und scrollbar_thumb (=slider_*.png).
Grub benutzt, soweit sie existieren, für highlight und slider jeweils neun Dateien mit den Namensbestandteilen _c, _w, _n, _s, _e sowie _ne, _nw, _se und _sw. Deren Lage entspricht der durch das Suffix angedeuteten Himmelsrichtung in einer Landkarte. Die _c-Dateien (“center”) kachelt Grub; ihre Höhe kann statt nur einem farbgebenden Pixel auch der Höhe des zu stylenden Menüpunkts entsprechen. Im OpenSuse-Thema sind das 32 Pixel (Eintrag item_heigth im Block boot_menu in theme.txt).
Wesentlich ansprechender als ein einfarbiger Hintergrund wirkt ein Hintergrundbild. Dabei muss es sich um ein PNG- oder JPEG-Bild mit einer Farbtiefe von 8 Bit handeln, das Sie in den Themenordner kopieren. In theme.txt fügen Sie im globalen Block zu Beginn die Deklaration desktop-image: "Datei.png" hinzu.
Nach Abschluss der Arbeiten kopieren Sie den Ordner des Themes mit administrativen Rechten nach /boot/grub2/themes/ und wählen im YaST-Modul Bootloader die angepasste Datei theme.txt. Auch wenn Sie neue Versionen erstellen, bei denen sich der Pfad zu theme.txt nicht ändert, müssen Sie jedesmal das YaST-Modul öffnen und per Klick auf OK die Grub-Konfiguration aktualisieren. Alle weiteren Aspekte von Grub-Themes erläutert das Grub-Handbuch [2].
Boot-Animation
Nach dem Starten des Systems per Bootloader erscheint der sogenannte Bootsplash-Screen (Abbildung 1), der beim Systemstart einige Sekunden sichtbar bleibt. Wie für Grub sind auch dafür zahlreiche Themes auf Pling.com verfügbar [3]. Zwar gibt es kein YaST-Modul, um den Bootsplash einzurichten, wohl aber einen simplen Konsolenbefehl, der alles Nötige erledigt.
Entpacken Sie ein heruntergeladenes Archiv nach /usr/share/plymouth/themes/. Existieren dort mehrere Unterordner, dann erkennen Sie den eigentlichen Theme-Ordner daran, dass er eine Konfigurationsdatei mit der Endung .plymouth enthält. Führen Sie dann das Kommando plymouth-set-default-theme -l aus, und suchen Sie im ausgegebenen Text das neue Theme. Der Befehl plymouth-set-default-theme -R installiert es anschließend.
Sie müssen das System nicht neu booten, um das neue Theme zu begutachten. Installieren Sie dazu das Paket plymouth-x11-renderer, starten Sie als Root plymouthd, und rufen Sie dann plymouth --show-splash auf. Der Plymouth-Screen erscheint in einem Fenster. Mit einem Druck auf die Pfeiltaste nach rechts spulen Sie die Animation weiter. Allerdings lässt sich das Fenster nicht so einfach schließen, es bleibt zwangsweise im Vordergrund. Um es loszuwerden, drücken Sie unter KDE [Strg]+[Alt]+[Esc] und klicken mit dem Totenkopf-Cursor darauf. Vor einem weiteren Test führen Sie plymouth --quit aus.
Plymouth bringt eine Reihe von Plugins mit, die als Animationssequenzen nach bestimmten Schemata benannte PNG-Dateien laden (zu finden über Pakete in der Art plymouth-plugin-<XXX>). Unglücklicherweise sind diese nicht dokumentiert. Zwar lassen sich die Namenskonventionen aus den Demo-Themes (Pakete plymouth-theme-<XXX>) zur Not erschließen. Dennoch nutzten fast alle online verfügbaren Themes das von OpenSuse vorinstallierte Plugin Script, das mit einer ordentlichen Dokumentation aufwartet [4].
Skriptsprache
Das Script-Plugin wertet Anweisungen eines Skripts (Theme-Name.script im Theme-Order) aus. Die eigens dafür entwickelte Skriptsprache ist umfangreich. Wir sehen uns daher das minimalistische Theme Simple-Image an [5], das beim Start des Bootvorgangs ein Bild zentriert einblendet und unbewegt beibehält (Abbildung 6).

Abbildung 6: Das Plymouth-Theme Simple Image realisiert mit nur wenigen Anweisungen ein statisch eingeblendetes Arch-Logo. Der Code lässt sich allerdings leicht erweitern, um die Optik interessanter zu gestalten.
Im Lieferzustand handelt es sich bei der Grafik um das Arch-Linux-Logo. Um es zu ersetzen, bearbeiten Sie die Datei img.png im Theme-Ordner oder ersetzen sie durch ein PNG mit einer Auflösung von 1920 x 1080 Pixel. Nach jeder Veränderung des Bilds müssen Sie das Theme neu installieren. Mit einem absoluten Minimum an Skript-Code eignet sich das Simple Image gut als Basis für Experimente.
Den Inhalt der Theme-Konfigurationsdatei simple-image.plymouth zeigt Listing 1. Die Konfiguration nennt Name sowie Beschreibung und wählt das Script-Plugin aus. Der Konfigurationsblock [script] für das Plugin gibt das Verzeichnis für das einzublendende Bild und den Namen der Skriptdatei an. Um ein neues Theme zu entwickeln, passen Sie lediglich diese Pfade und den Dateinamen der .plymouth-Datei selbst dem von Ihnen gewählten Theme-Namen an.
Listing 1
[Plymouth Theme] Name=Arch Linux Simple Image Description=This is a plymouth theme which simply displays an image ModuleName=script [script] ImageDir=/usr/share/plymouth/themes/simple-image ScriptFile=/usr/share/plymouth/themes/simple-image/simple-image.script
Die Skriptdatei simple-image.script finden Sie in Listing 2. Sie erstellt ein Image-Objekt und errechnet die Bildschirmmitte (Zeilen 1 bis 4). Als Sprite bezeichnet man in der Computergrafik und auch in Plymouth-Skripten ein bewegliches Bildobjekt (Zeile 6). Zeile 7 und 8 legen dessen Koordinaten auf die ermittelte Mitte des Monitors. Die letzte Zeile definiert refresh_callback als RefreshFunction, die bei jedem Schritt des Bootvorgangs aufgerufen wird. Hier setzt sie lediglich die Deckkraft des Bilds auf 1 und die Stapelreihenfolge auf 15.
Listing 2
image = Image("img.png");
pos_x = Window.GetWidth()/2 - image.GetWidth()/2;
pos_y = Window.GetHeight()/2 - image.GetHeight()/2;
sprite = Sprite(image);
sprite.SetX(pos_x);
sprite.SetY(pos_y);
fun refresh_callback () {
sprite.SetOpacity(1);
spr.SetZ(15);
}
Plymouth.SetRefreshFunction (refresh_callback);
Dieses rudimentäre Grundgerüst können Sie erweitern, indem Sie die Funktion refresh_callback() ausbauen: Sie könnten die Opacity sukzessiv von 0 auf 1 erhöhen, weitere Bilder einblenden oder Sprites mit SetX() und SetY() anhand beliebig komplizierter Algorithmen über den Bildschirm bewegen. Die erwähnte Dokumentation des Script-Plugins nennt alle verfügbaren Befehle.
Noch ein Startbildschirm
Nach dem Bootsplash startet der Display-Manager. Für KDE installiert OpenSuse SDDM (Abbildung 7). Beim Start von KDE bekommt man dann einen zweiten Splash-Screen zu sehen (Abbildung 8). Das Hintergrundbild des KDE-Login-Managers lässt sich vom Einstellungszentrum der Desktop-Umgebung aus einfach ändern. Das genügt, um den Anmeldeschirm der restlichen grafischen Gestaltung anzupassen, denn die Bedienelemente des Login-Screens sind in der Voreinstellung optisch neutral gehalten.

Abbildung 7: Der grüne Hintergrund des KDE-Login-Schirms lässt sich in den Systemeinstellungen mit wenigen Klicks verändern.

Abbildung 8: Ein Theme für den KDE-Startbildschirm zu schreiben erfordert Programmierkenntnisse in QML, falls Sie mehr möchten, als nur die angezeigten Grafiken auszutauschen.
Der KDE-Startbildschirm dagegen fügt sich nicht so leicht in eine personalisierte Optik ein. Neuere KDE-Versionen bringen in den Systemeinstellungen, wie an vielen anderen Stellen, eine Download-Funktion für Designs mit. Unter OpenSuse Leap 15.1 fehlt diese noch. Designs händisch von Pling.com [6] herunterzuladen und zu installieren, fällt aber nicht schwer: Sie entpacken die Zip-Archive lediglich ins Verzeichnis ~/.local/share/plasma/look-and-feel/, wobei Sie den Unterordner look-and-feel/ gegebenenfalls zuvor noch anlegen müssen.
Die Startbildschirme sind in QML geschrieben, einer Oberflächenbeschreibungssprache, die das von KDE genutzte GUI-Framework Qt bereitstellt. Deren Umfang auch nur anzureißen, würde den Rahmen der OpenSuse-Tipps sprengen. Allerdings lassen sich die QML-Startbildschirme ähnlich wie Plymouth-Bootscreens “hacken”, indem Sie die Grafiken im Order Theme-Name/contents/splash/images/ verändern.
Sobald Sie den Mauszeiger über die Vorschau eines Startbildschirm-Designs halten, erscheint ein Abspielsymbol, das die Boot-Animation zum Test startet. Daraus lässt sich recht leicht erschließen, welche Grafiken aus dem Unterordner images/ an welcher Stelle im Startbildschirm erscheinen.
Fazit
Den eigentlichen KDE-Desktop in Sachen Hintergrundbild und Farbschema dem eigenen Geschmack anzupassen, ist ein Kinderspiel. Etwas sperriger geben sich das Grub-Bootmenü, die Bootsplash-Animation und der KDE-Startbildschirm. Für die Installation von im Internet zu findenden Themes müssen Sie aber letztlich nur den richtigen Ordner zum Ablegen der Designs wählen und schlimmstenfalls noch das passende YaST-Modul oder einen Kommandozeilenaufruf kennen.
Nicht ganz so leicht fällt es, eigene Themes für diese drei Designelemente des Systems zu erstellen. Am besten gelingt der Einstieg, wenn Sie bestehende Themes mithilfe der im Internet reichlich verfügbaren Vorlagen abändern, wie es diese OpenSuse-Tipps erläutern. Schon mit kleinen Anpassungen lässt sich dann eine handoptimierte, bruchlose Optik des Systems vom Bootmenü bis zum Desktop-Start erzielen.
Infos
- Grub-Themes: https://www.pling.com/browse/cat/109/order/latest/
- Grub-Theme-File-Dokumentation: https://www.gnu.org/software/grub/manual/grub/html_node/Theme-file-format.html
- Plymouth-Themes: https://www.pling.com/browse/cat/108/order/latest/
- Plymouth-Script-Plugin: https://www.freedesktop.org/wiki/Software/Plymouth/Scripts/
- Simple Image: https://github.com/barskern/plymouth-theme-simple-image/
- Startbildschirmdesigns: https://www.pling.com/browse/cat/488/order/latest







