2 Punkte von GN⁺ 2023-07-19 | 1 Kommentare | Auf WhatsApp teilen
  • Minegrub ist ein GRUB-Theme, das das GRUB-Bootmenü im Minecraft-Stil gestaltet
  • Es handelt sich um ein Minecraft-Main-Menu-Theme; verknüpfte Projekte sind Minecraft World Selection Menu und Using both themes together
  • Der Ablauf für die manuelle Installation besteht aus Repository klonen, Hintergrund auswählen, den Ordner minegrub nach /boot/grub/themes/ kopieren, GRUB_THEME=/boot/grub/themes/minegrub/theme.txt in /etc/default/grub setzen und grub-mkconfig ausführen
  • install_theme.sh hilft bei der Installation des Themes, der Installation eines systemd-Dienstes und der Aktivierung des Konsolenhintergrunds; wenn kein zufälliger Hintergrund verwendet werden soll, unterstützt es auch die Auswahl eines Hintergrunds
  • update_theme.py wählt einen zufälligen Spruch aus assets/splashes.txt, erzeugt und ersetzt logo.png und aktualisiert außerdem die Anzahl der installierten Pakete sowie ein zufälliges Hintergrundbild aus backgrounds/
    • Ausführungsanforderungen sind fastfetch oder neofetch, Python 3 oder eine gleichwertige Laufzeitumgebung sowie das Python-Paket Pillow
    • Hintergrund und Spruch für den nächsten Bootvorgang können im Format python update_theme.py [BACKGROUND_FILE [SPLASH]] festgelegt werden
  • Es wird ein NixOS-Flake-Modul bereitgestellt; unter boot.loader.grub.minegrub-theme werden Beispielkonfigurationen für enable, splash, background und boot-options-count gezeigt
  • Wenn es mehr oder weniger als 4 Boot-Optionen gibt, können sich die Schaltflächen mit der unteren Leiste überlappen; die Position lässt sich durch Bearbeiten der entsprechenden Zeile in /boot/grub/themes/minegrub/theme.txt anpassen
  • In Umgebungen, die den Ordner /boot/grub2 verwenden, müssen die Pfade in der README und im Pfad der Datei minegrub-update.service angepasst werden
  • Der GRUB-Konsolenhintergrund wird über GRUB_BACKGROUND=<path> in /etc/defaults/grub festgelegt; wenn jedoch ein Theme gesetzt ist, muss zuvor eine Zeile in /etc/grub.d/00_header geändert werden

1 Kommentare

 
GN⁺ 2023-07-19
Hacker-News-Kommentare
  • Es erinnert daran, dass grub-mkconfig unnötig komplexe grub.cfg-Dateien erzeugt.
    Wenn man sie direkt schreibt, kann man benutzerdefinierte Kernel, Standard-Kernel mit initrd und sogar Windows-Boots viel einfacher mit default, timeout, ein paar menuentry, insmod, set root, linux, initrd und chainloader konfigurieren.

    • Ich vermisse das gute alte GRUB legacy.
      Die meisten Einträge brauchten nur 4–5 Konfigurationszeilen, und es gab keine hässliche Shell-Syntax, keine Unmenge an Optionen und keine Bedingungen.
      MBR und das Festplatten-/Boot-Management unter Linux waren viel einfacher; heute muss man schon beim Gedanken daran erst einmal Unmengen an Dokumentation lesen – wegen UUIDs, FAT32-Partitionen und den überladenen Features von UEFI.
      Früher wollte ich auf einem Ubuntu-basierten Laptop den DNS-Server ändern und habe resolv.conf bearbeitet, aber nichts passierte. Am Ende fand ich ungefähr vier DNS-Konfigurationsdateien an verschiedenen Orten, und nur eine davon war die, die tatsächlich geändert werden musste.
      Vielleicht stelle ich irgendwann das Mainboard wieder auf Legacy-Modus um und installiere eine minimale Distribution ohne systemd wie Crux Linux oder Slackware.
    • Abgesehen davon, dass automatisch erzeugte Konfigurationsdateien komplex sind: Gibt es noch andere Vorteile, sie selbst zu pflegen?
      Ich erinnere mich, dass Debians update-grub-Skript damals, als ich noch eine Windows-Partition hatte, alle Kernel inklusive benutzerdefinierter Kernel sowie andere Betriebssysteme gefunden hat.
      Meiner Meinung nach ist es viel besser, gar nichts pflegen zu müssen, als irgendetwas von Hand zu warten.
  • Unter Rocky Linux 8 musste ich GRUB_TERMINAL_OUTPUT auf "gfxterm" setzen, damit GRUB_THEME berücksichtigt wurde.
    Mein Kind startet über Grub oft in Windows neu, um Minecraft Bedrock Edition zu spielen, und von diesem Theme wäre es wahrscheinlich ziemlich beeindruckt.

  • "I use Arch BTW" ist schon großartig, aber mir gefällt auch, dass es mehrere Splash-Texte gibt.

  • Natürlich fehlt auch in diesem Projekt nicht der Bugreport, der fordert, den Code auf einen anderen Git-Host umzuziehen.
    https://github.com/Lxtharia/minegrub-theme/issues/18
    Ich verstehe zwar das Anliegen, aber das ist hier wohl nicht der richtige Ort für so eine Kampagne.
    Schön wäre, wenn der Autor sich nicht unter Druck gesetzt fühlen müsste und höflich sagen könnte: „Diese Problembeschreibung sieht für mich nicht wie ein Bug in meinem Code aus“, und das Issue dann schließen könnte.

  • Erwähnenswert ist auch, dass diese Person ein Doom-Theme gemacht hat.
    https://github.com/Lxtharia/doomgrub-theme

  • Etwas off topic, aber ich frage mich, ob jemand ein Theme oder eine GUI für die LUKS-Passworteingabe kennt.
    Für Familienmitglieder, die moderne GUIs gewohnt sind, ist die Kommandozeilen-Variante nicht besonders intuitiv.

  • Zuerst habe ich das fälschlich als „Microsoft Grub Theme“ gelesen, und ich fand die Ironie interessant.
    Trotzdem ist es wirklich lustig und beeindruckend, und ich wusste nicht, dass man mit Grub-Themes so weit gehen kann.

  • Jetzt muss nur noch jemand einen Renderer schreiben, der auch die Kamera des Welt-Hintergrunds rotieren lässt.

    • Einen CPU-Software-Rasterizer zu bauen, der unter UEFI läuft, wäre wohl ein ziemlich spannendes Projekt.
      Eine GPU wäre natürlich schwierig, aber vielleicht könnte man mehrere CPU-Kerne nutzen.
    • Ich weiß nicht, ob das in Grub möglich ist.
      Als ich das zuletzt gesehen habe, konnte ein Tool namens Burg den Hintergrund GIF-artig animieren, aber insgesamt wirkte es sehr grob und war keine besonders gute Erfahrung.
  • Auch dieses Theme ist wirklich gut, aber ich werde wohl weiter dieses Fallout-Grub-Theme benutzen.
    https://github.com/shvchk/fallout-grub-theme/tree/master
    Mich würde interessieren, welches Theme ihr jeweils am liebsten mögt.

  • Ich frage mich, was Grub überhaupt ist.
    In drei beliebig angesehenen grub2-Repositories konnte ich keine entsprechenden Links finden.

    • GRUB ist ein Bootloader, der häufig auf Linux-Systemen verwendet wird.
      Wenn man den Computer einschaltet, zeigt er ein Menü mit Boot-Optionen an und startet das ausgewählte installierte Betriebssystem.
      Mit diesem Theme sieht genau dieses Menü zur Auswahl des Betriebssystems dann wie ein Minecraft-Menü aus.