GRUB stellt Hintergrundbild nicht dar

23. Februar 2023 · Betriebssysteme · andreas · Kein Kommentar

Während auf anderen Geräten das GRUB-Menü in dem von Debian vorgesehenen Standard-Theme erstrahlte, wurde auf einem frisch installierten Laptop nur die Fallback-Darstellung in Cyan auf blauem Hintergrund gewählt:

GRUB Menu

Funktional ist dies zwar keine Einschränkung, aber die Neugier war geweckt und das “Warum?” wollte gelöst werden. Die Ausgabe von “update-grub” sah vollkommen normal aus, die Einbindung des Hintergrundbildes wurde auch explizit angezeigt:

$ sudo update-grub Generating grub configuration file ... Found background image: /usr/share/images/desktop-base/desktop-grub.png ... done

Nachdem die in GRUB eingebauten Videotests alle erfolgreich waren und auch der Plymouth-Bootsplash wie erwartet angezeigt wurde, musste das Problem an einer anderen Stelle liegen - und so war es auch.

Den entscheidenden Hinweis lieferte der Debiag Bug Report #945404 “grub2-common: ‘/boot/grub/.background_cache.png’ is not created on LUKS encrypted system”: die Datenpartition des Laptops ist verschlüsselt und bei der Überprüfung des Hintergrundbildes erkennt das zuständige Skript nicht, daß beim Booten auf das Bild nicht mehr zugegriffen werden kann. Als möglicher Verursacher wurde Zeile 100 der Datei “/etc/grub.d/05_debian_theme” benannt:

It looks like the command ‘if is_path_readable_by_grub “${1}”; then’ in line 100 in ‘/etc/grub.d/05_debian_theme’ always returns “true”, and therefore ‘/boot/grub/.background_cache.png’ is never created. [Quelle]

“is_path_readable_by_grub” scheint entweder gar nicht zu funktionieren oder im konkreten Fall ein falsches Ergebnis zurückzuliefern.

# Step #5: Check if GRUB can read the background image directly. # If so, we can remove the cache file (if any). Otherwise the background # image needs to be cached under /boot/grub/. if is_path_readable_by_grub "${1}"; then rm --force "${BACKGROUND_CACHE}.jpeg" \ "${BACKGROUND_CACHE}.png" "${BACKGROUND_CACHE}.tga" elif cp "${1}" "${BACKGROUND_CACHE}.${reader}"; then set -- "${BACKGROUND_CACHE}.${reader}" "${2}" "${3}" else return 5 fi

Als einfacher Test bzw. Workround wurde das Ergebnis der Abfrage durch “false” ersetzt

if false; then

und die Konfigurationsdatei neu erzeugt:

$ sudo update-grub Generating grub configuration file ... Found background image: .background_cache.png ... done

Nun wurde - wie erzwungen - davon ausgegangen, daß das Hintergrundbild zum Zeitpunkt des Bootens nicht lesbar sein würde und deshalb eine Kopie in einem für GRUB zugreifbaren Bereich erstellt.

Beim nächsten Bootvorgang wurde das GRUB-Menü dann auch mit Theme dargestellt. Ein vielleicht schönerer Workaround als die direkte Änderung der Datei “/etc/grub.d/05_debian_theme” ist im oben genannte Bug Report ebenfalls dargestellt.


Speicherort für GNOME Shell-Extension Schema-Dateien

19. Februar 2023 · Programmierung · andreas · Kein Kommentar

Eine selbsterstellte Erweiterung für die GNOME Shell funktionierte zwar einwandfrei, allerdings beschwerte sich der Dconf-Editor, daß die Konfigurations-Schlüssel trotz vorhandenener “schema”-Datei im Erweiterungsordner nicht von einem Schema definiert würden.

Screenshot

Beim Klick auf einen Schlüssel wurde zusätzlich eine erweiterte Fehlermeldung angezeigt:

Kein Schema verfügbar. Ein Schema beschreibt die Verwendung eines Schlüssels und Dconf-Editor kann kein Schema finden, das diesem Schlüssel zugeordnet ist.

Zur Lösung des Problems half ein Blick in die Dateiliste einer mit Debian mitgelieferten Erweiterung wie z.B. “Dash to Dock

/usr/share/glib-2.0/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml

Offensichtlich müssen die “schema”-Dateien in einem gesonderten Verzeichnis gespeichert werden. Für eine im Benutzerkontext installierte Erweiterung ist dies der Ordner “~/.local/share/glib-2.0/schemas” statt dem Systemordner “/usr/share/glib-2.0/schemas”

$ mkdir -p ~/.local/share/glib-2.0/schemas $ cp org.gnome.shell.extensions.myscript.gschema.xml ~/.local/share/glib-2.0/schemas/org.gnome.shell.extensions.myscript.gschema.xml $ cd ~/.local/share/glib-2.0/schemas $ glib-compile-schemas .

Nach dem Anlegen des Ordners und dem Kopieren der Schema-Datei (wahlweise funktioniert auch das Setzen eines symbolischen Links) muß die Schema-Datei noch kompiliert werden, dann ist auch der Dconf-Editor zufrieden.

RTFM hätte hier auch ohne den Umweg über eine andere Erweiterung geholfen, denn die Hilfeseite zu “glib-compile-schemas” verrät bereits:

The usual location to install schema files is /usr/share/glib-2.0/schemas.


Von WordPress zu Hugo Teil 2: Export

17. Februar 2023 · Intern · andreas · Kein Kommentar

Der eigentliche Export der Beiträge aus der WordPress-Datenbank wurde mit Hilfe eines Perl-Skripts realisiert, welches speziell für diesen Zweck geschrieben wurde. Das Hauptaugenmerk lag hierbei auf einen möglichst “passenden” Export und nicht auf schönen oder wiederverwendbarem Code.

Zur Ablage der Beiträge wurden im “content”-Ordner zwei Unterordner angelegt: im Ordner “page” landeten die Seiten der Website, im Ordner “post” die Beiträge.

Damit die in WordPress vorhandene Kategoriestruktur und somit auch die Permalinks erhalten blieben, wurde die Kategorie-Struktur unterhalb des “post”-Ordners nachgebildet, d.h. für den Beitrag “https://blog.thul.org/musik/audio/pink-floyd-the-final-cut/” der Ordner “content/post/musik/audio/pink-floyd-the-final-cut/” erzeugt und der Beitragsinhalt in diesem in der Datei “index.html” abgelegt.

Für die wenigen Seiten der WordPress-Instanz wurde eine flache Hierarchie gewählt, d.h. der Beitrag “https://blog.thul.org/impressum/” wurde in den Ordner “content/page/impressum” kopiert.

Vollständigen Beitrag lesen


Hörenswert #102: Teramaze - Easy Lover

14. Februar 2023 · Hörenswert · andreas · Kein Kommentar

Link zu Youtube

Teramaze haben “Easy Lover”, im Original von Phil Collins & Phillip Bailey, neu eingespielt. Mit zurück in Bild und Ton ist auch Nathan Peachey, der zuletzt auf dem Album “Her Halo” zu hören gewesen war und ab sofort wieder Teil der Band ist.


Shemekia Copeland - Done Come So Far

10. Februar 2023 · Audio · Klaus Seiler · Kein Kommentar

Shemekia Copeland - Done Come So Far (Cover)Shemekia Copeland, in unseren Breiten so gut wie unbekannt, in den USA ist sie auf bestem Wege, eine der ganz großen Hausnummern im Blues zu werden. Sie steht mittlerweile nach meiner Ansicht z.B. einer Koko Taylor in Nichts nach und hat bereits mit Genre-Größen wie B.B. King oder Dr. John gearbeitet, dazu kommen einige renommierte Awards im Blues-Bereich. Und ist übrigens die Tochter des großen Johnny Copeland.

Aber zum Album: die Vocals sind energetisch, Shemekia Copeland hat Blues & Soul schlicht in den Genen, im Blut, in den Venen und überhaupt. Einer der Glanzpunkte des Albums ist der Gospel “Gullah Geechee”. Sie zeigt, daß sie -nur mit Banjo und kleinem Chorus begleitet- einen solchen Song ganz locker alleine tragen kann, besser geht es kaum.

Ein Gast namens Sonny Landreth darf natürlich auch nicht fehlen und veredelt den urigen Swamp-Blues “Done Come Too Far” bei mir zumindest in Richtung Gänsehaut. Ein ganz starker Song, ohne Zweifel. Wenn es dann noch ein astreines Stück Zydeco sein darf: “Fried Catfish And Bibles” tönt so, wie man sich die Musik etwas später am Abend in einem Club des French Quarter vorstellt…..und zwar auch noch abseits der dort üblichen Klischees.

Summa summarum: für Blues-Fans eine ganz dicke Empfehlung.