Fastfetch liefert Systeminformationen

  Ralf Hersel   Lesezeit: 6 Minuten  🗪 9 Kommentare Auf Mastodon ansehen

Dieses Werkzeug stellt Systeminformationen im Termin übersichtlich dar. Durch seine Konfigurierbarkeit lässt sich Fastfetch an die eigenen Bedürfnisse anpassen.

fastfetch liefert systeminformationen

Fastfetch ist ein Werkzeug zum Abrufen von Systeminformationen und deren ansprechender Darstellung im Terminal. Es ist hauptsächlich in C geschrieben, wobei Leistung und Anpassbarkeit im Vordergrund stehen. Derzeit werden Linux, Android, FreeBSD, macOS, SunOS und Windows 7+ unterstützt.

Viele von euch haben bereits solche Systeminformationen in Artikeln gesehen oder selbst für die schnelle Bekanntgabe von Infos über den eigenen Computer verwendet. Die Ausgabe ist auch hilfreich, wenn man bei Fehlerberichten Informationen zum System angeben soll. Im Titelbild seht ihr eine typische Ausgabe. Bis vor einem Jahr war Neofetch ein sehr bekanntes Werkzeug für diesen Zweck. Leider wurde die Entwicklung eingestellt, worüber wir berichteten.

Zum Glück dauert es in der Linuxwelt nicht lange, bis Entwickler in die Bresche springen und alternative Werkzeuge anbieten, wie zum Beispiel Hyfetch oder Fastfetch. Während Hyfetch die Funktionalität von Neofetch kopiert, fügt Fastfetch einige Zusatzinformationen hinzu. Hier seht ihr die Ausgabe von Hyfetch, um sie mit Fastfetch (Titelbild) vergleichen zu können:

Ausgabe von Hyfetch

Die Installation von Fastfetch ist einfach, da es sich höchstwahrscheinlich in den Repositories eurer Distribution befindet. Hier findet ihr die Anleitung für alle gängigen Distros. Nach der Installation öffnet ihr ein Terminal und startet das Werkzeug durch die Eingabe seines Namens: fastfetch

Fastfetch lässt sich an eure Bedürfnisse anpassen. Dazu bietet das Werkzeug eine Konfigurationsdatei im JSONC (kommentiertes JSON) an. Um diese Datei zu erzeugen gebt ihr das ein: fastfetch --gen-config. Bevor ihr das macht, solltet ihr darauf auchten, dass es das Verzeichis /home/[user]/.config/fastfetch noch nicht gibt. Nach der Ausführung des Befehls findet ihr im genannten Verzeichnis diese Datei: config.jsonc

{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "modules": [
    "title",
    "separator",
    "os",
    "host",
    "kernel",
    "uptime",
    "packages",
    "shell",
    "display",
    "de",
    "wm",
    "wmtheme",
    "theme",
    "icons",
    "font",
    "cursor",
    "terminal",
    "terminalfont",
    "cpu",
    "gpu",
    "memory",
    "swap",
    "disk",
    "localip",
    "battery",
    "poweradapter",
    "locale",
    "break",
    "colors"
  ]
}

Warum das Projekt JSONC anstatt normalem JSON verwendet, erschliesst sich mir nicht. Ich vermute, dass man damit (ähnlich wie bei XML) die Struktur gegen ein Schema prüfen kann. Darauf deutet die erste Zeile hin.

Wie ihr seht, enthält die Datei eine Liste von Fastfetch-Modulen, die genau dem entsprechen, was beim Aufruf von fastfetch angezeigt wird. Um das zu testen, erstelle ich eine Kopie der Datei und entferne fast alle Module aus der Konfiguration. Das sieht dann so aus:

Die Reduktion der Ausgabe stellt damit kein Problem dar. Doch wie steht es um die Erweiterung? Dazu muss man wissen, welche weiteren Module zur Verfügung stehen. Zu diesem Zweck stellt das Projekt eine vollständige Modul-Liste zur Verfügung. Zurzeit findet man dort 71 Module. Um die Erweiterbarkeit zu testen, füge ich die Module Wetter und Wallpaper hinzu:

{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "modules": [
    "title",
    "separator",
    "os",
    "host",
    "kernel",
    "Weather",
    "Wallpaper"
  ]
}

Auch das funktioniert einwandfrei. Wer mehr wissen möchte, kann fastfetch --help aufrufen oder einen Blick in das Wiki des Projekts werfen. Wenn ihr Fastfetch "mit alles und scharf" starten möchtet, könnt ihr diesen Aufruf verwenden: fastfetch -c all.jsonc. Ich habe nicht herausgefunden, wie man die Ausgabe eines einzelnen Moduls erzeugen kann. So wäre etwa der Aufruf von fastfetch --cpu-temp (Achtung: diesen Befehl gibt es nicht) interessant, um die CPU-Temperatur weiterverwenden zu können. Falls solche Aufrufe möglich sind, werdet ihr es bestimmt herausfinden. Schreibt es in die Kommentare.

Fazit

Fastfetch ist ein besseres Neofetch und ein würdiger Nachfolger. Ich konnte in diesem Artikel nicht alle Funktionen von Fastfetch vorstellen. Auf die Möglichkeiten für die Darstellung des Distro-Logos und der Formatierung der Ausgabe bin ich nicht eingegangen. Von Fastfetch ist vor ein paar Tagen die neue Version 2.34 erschienen. Was darin neu ist, könnt ihr hier nachlesen.

Wer Neofetch durch Fastfetch ersetzen möchte, sollte daran denken, Neofetch und dessen Konfiguration zu entfernen. Die Konfiguration von Neofetch liegt in: /home/[user]/.config/neofetch. Ausserdem möchte ich beim Thema Systeminformationen auf diese Artikelserie und auf Inxi hinweisen.

Quelle: https://github.com/fastfetch-cli/fastfetch

Tags

fastfetch, Neofetch, System-Information, Inxi

Robert
Geschrieben von Robert am 13. Januar 2025 um 11:46

Die "fetch"-Werkzeuge stellen einige Systeminformationen ÜBERSICHTLICH und komprimiert im Terminal (Konsole) dar. Fast alle diese Infos erhält man aber ebenso leicht in den jeweiligen Desktop-Umgebungen (KDE, Gnome etc.) angezeigt.

Im Vergleich zu Windows vermisse ich unter Linux einige mächtigere Systeminfo-Programme, die in der Lage sind mir die komplette zur Verfügung stehende Hardware anzuzeigen, ohne dass ich die Kiste öffnen muss oder 5 verschiedene CLI-Kommandos mit kryptischen Optionen absetzen muss.... Kennt jemand von Euch vielleicht Linux-Software, die ähnliches kann wie beispielsweise: https://www.hwinfo.com/ oder http://rh-software.com/ (guckt Euch hier die Bilder oben an) oder https://www.gtopala.com/ (noch besser beschreiben es die ganzen Bilder, die man hier unter "Hardware Information" sehen kann) ... Gibt es dafür keinerlei Alternativen unter Linux?

Auf die schnelle habe ich nur das scheinbar tote Projekt https://github.com/lpereira/hardinfo gefunden und eine ebenfalls nicht aktuell erscheinende "Kopie" von HWiNFO: https://hwinfo.su/de/linux/ (Verwendung des gleichen Favicon wie bei der Windows-Version), die jedoch keine GUI bietet und deren Website ganz unten !2023! anzeigt.

Naja
Geschrieben von Naja am 13. Januar 2025 um 14:13

Wie wär's hiermit? https://www.tecmint.com/hardinfo-check-hardware-information-in-linux/ Hab es aber nicht ausprobiert.

Bin tatsächlich ein Anhänger der Kommandozeile, weil sich die Ausgaben ggf. dann gleich weiterverwerten lassen.

Thomas
Geschrieben von Thomas am 13. Januar 2025 um 15:48

https://github.com/lpereira/hardinfo hat einen nachfolger https://hardinfo2.org/ bzw. https://github.com/hardinfo2/hardinfo2

in der shell kann ich inxi empfehlen.

klausb
Geschrieben von klausb am 13. Januar 2025 um 17:33

Sieh dir doch mal hardinfo2 https://hardinfo2.org/ an.

Mutant77
Geschrieben von Mutant77 am 13. Januar 2025 um 20:59
👓
Geschrieben von 👓 am 23. Januar 2025 um 14:05

https://linux-hardware.org

dazu gibt es hw-probe welches alles sammelt und wahlweise auch nach linux-hardware hochlädt. Damit habe ich mal einen WLand Treiber gefunden, weil das im Feedback der Seite so stand.

Robert
Geschrieben von Robert am 13. Januar 2025 um 20:04

Danke an Thomas & Klaus! Hardinfo2 sieht wirklich gut aus. Das werde ich mir mal genauer ansehen.

tuxfanmatze
Geschrieben von tuxfanmatze am 28. Januar 2025 um 07:07

"fastfetch -c all.jsonc" zeigt eigentlich alle Hardware im System an. Mit inxi geht es auch.

Um die CPU Temperatur per Terminal Befehl anzuzeigen: "fastfetch --cpu-temp". Ist irgendwie ein Zusatzparameter. Wenn man nur die CPU Temp möchte, direkt im Terminal ohne die config.jsonc anzupassen geht es mit:

fastfetch -l none --cpu-temp | grep CPU | cut -d "-" -f3

Gegebenenfalls ist der cut Befehl etwas anzupassen, je nach config Datei. Bei CPU habe ich die Standard config.jsonc genommen.

Per Modul-Parameter im Terminal geht es nicht:

fastfetch -l none -s cpu --cpu-format '{1} {2} {7}'

Der Paramter {7} wird nicht angezeigt "fastfetch -h cpu-format". Daher wohl der extra Terminal Paramter --cpu-temp. In der all.jsonc in /usr/share/fastfetch/presets geht es auch in der config-Datei.

Hier noch meine Anpassung für Anzeige der GTK-Version und Xserver Version und die GPU Ausgabe etwas angepasst.

 {
 "type": "command",
 "text": "echo $(gtk-launch --version)",
 "key": "GTK-Version"
 },

 {
 "type": "command",
 "text": "echo $(dpkg-query -l xserver-xorg-core* | grep '^ii' | cut -f4 -d' ')",
 "key": "Xserver Version"
 },

// "gpu", { "type": "gpu", "format": "{1} {2} @ {12}GHz {3} driver" },

Ganze Datei mit Anpassungen: config.jsonc: https://nc.matzes-cloud.de/s/2mD8Zd7nzsjTHmJ

Für die grafischen Sysmbole z.B. für: "fastfetch -c examples/6" muß im Terminal z.B. der Font DroidSansMNerdFont-Regular.otf unter Linux/Ubuntu/Mint installiert werden: https://github.com/ryanoasis/nerd-fonts?tab=readme-ov-file#option-6-ad-hoc-curl-download und im Terminal ausgewählt werden. Danach muß sich neu angemeldet oder neu gestartet werden, damit der Font im Terminal brauchtbar erscheint. Fastfetch sieht dan so aus: https://nc.matzes-cloud.de/s/TGE4BX43Jq5ozR2 und in der Datei /usr/share/fastfetch/presets/examples/6.jsonc habe ich einige grafische Symbole angepasst: https://nc.matzes-cloud.de/s/d7S868bYWd7iyqq

tuxfanmatze
Geschrieben von tuxfanmatze am 28. Januar 2025 um 07:23

Hallo Redaktion, die "(Anführungsstriche) aus der Kopierten .jsonc Datei hat bei meinem Kommentar euer Blog-Kommentar System irgendwie nicht gemocht: "&quot" Ich weiß nicht ob ihr das nachträglich anpassen könnt. Bitte sonst die 3 kopierten .jsonc Anpassungen für GTK-Version, Xserver Version und GPU Anpassung einfach löschen. In der ganzen Datei mit Anpassungen: config.jsonc: https://nc.matzes-cloud.de/s/2mD8Zd7nzsjTHmJ steht es ja auch nochmal drin. lg Matthias aka tuxfanmatze. Ich habe euch dieses und meinen Kommentar noch an kontakt@gnulinux.ch geschickt.