fastfetch: System-Infos hübsch, schnell und anpassbar
Das eigene Info-Center im Terminal - für Windows, Linux, Android, FreeBSD und MacOS
Manche Dinge möchte man doch immer wieder mal fix wissen: Die exakte Version des Betriebssystems, den Namen der GPU, die externe IP-Adresse und natürlich - warum auch immer, es gibt ja Fenster ... - das aktuelle Wetter. Und wenn das alles im Terminal zu sehen sein soll und das auch noch hübsch und einfach, dann läuft es fix auf fastfetch hinaus. Ein fantastisches Tool, nur leider ziemlich dünn dokumentiert. Aber gut, dann lohnt sich das hier wenigstens ;)
fastfetch
fastfetch ist in letzter Zeit häufig in den Medien, weil das Vorbild Neofetch quasi stillgelegt wurde. Das Kommandozeilen-Tool unterstützt die relevanten Betriebssysteme und lässt sich wunderbar anpassen, nur so richtig einsteigerfreundlich ist es nicht. Nicht, weil es sonderlich kompliziert wäre, sondern weil die Dokumentation sehr dünn ist und auch erfahrene Nutzer viele Dinge durch Trial and Error herausfinden müssen.
fastfetch kann allerlei Informationen besorgen und nett formatieren, beispielsweise die Auslastung des Arbeitsspeichers, welche Bluetooth-Geräte aktuell verbunden sind, welche Shell in welchem Terminal läuft, in welchem WLAN Ihr seid oder wie das Wetter auf der anderen Seite des Fensters ist. Die Ausgabe lässt sich ziemlich gut formatieren, einfärben und sogar mit schicken Logos versehen.
Was wie angezeigt wird, legt Ihr über JSON-Dateien fest, also relativ schlichte, gut lesbare Textdateien. Nun, schlicht und gut lesbar für Techies ..., aber Ihr seht unten konkrete Beispiele, schwierig ist das nicht. Das Gute daran: fastfetch lässt sich für unterschiedlichste Szenarien einsetzen. Egal, ob Ihr ein paar fixe Infos bei jeder neuen Terminal-Session benötigt, ein komplettes Info-Center oder einfach nur die aktuelle externe IP wissen wollt, fastfetch ist eine gute Lösung.
Installation und Nutzung
Die Installation läuft unter Linux-Distributionen einfach über die regulären Paketmanager, unter MacOS über Homebrew - wie genau, steht auch in der Doku. Unter Windows läuft es über scoop - was wohl die Wenigsten laufen haben dürften.
Zunächst muss also scoop eingerichtet werden, ein Tool zum Installieren von Programmen - mit jeder Menge guten Funktionen, die hier aber nicht Thema sind. Öffnet dafür eine Powershell und gebt folgende Befehle ein:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Die erste Zeile konfiguriert die Powershell so, dass Ihr das Skript ausführen könnt. Die zweite Zeile lädt das angegebene Skript herunter und führt es anschließend aus. Danach steht Euch scoop zur Verfügung, natürlich auch in anderen Shells - hier läuft es zum Beispiel in der Windows-Bash (bekommt man über Git for Windows).
Die Installation von fastfetch ist dann trivial:
scoop install fastfetch
Das Schöne daran: Ihr braucht keine Admin-Rechte und scoop installiert alles innerhalb des eigenen Basisverzeichnisses.
fastfetch ist sofort einsatzbereit:
fastfetch
führt das Tool mit der Standardkonfiguration aus - was recht ausführliche Infos und ein dem System entsprechendes Logo ausgibt, hier im Bild:
Wenn nur eine einzelne Information gewünscht ist, funzt fastfetch natürlich auch über die Kommandozeile. Wollt Ihr zum Beispiel nur die Info zum Betriebssystem:
fastfetch -s os
Es gibt reichlich Optionen, ruft einfach mal die Hilfe auf.
Eigene Konfiguration nutzen
Viel interessanter wird es mit einer eigenen Konfiguration. Und da gibt es allein für den Aufruf der Konfiguration schon mehrere Möglichkeiten. Grundsätzlich lautet der Aufruf
fastfetch -c ./meine-konfigurationen/myconfig.jsonc
Ihr könnt eine Standardkonfiguration über
fastfetch --gen-config ~/fastfetch/myconfig.jsonc
oder ähnlich erzeugen und dann damit arbeiten, dann stimmt die Basis-Syntax schon mal. fastfetch durchsucht einige Verzeichnisse standardmäßig - liegt darin eine Konfiguration, wird diese genutzt, auch wenn nicht direkt angegeben. Die Verzeichnisse lassen sich ausgeben:
fastfetch --list-data-paths
Unter Windows bietet sich C:\Users\%USERNAME%\fastfetch an.
In der Konfiguration habt Ihr im Wesentlichen zwei Möglichkeiten, mit Modulen zu arbeiten - die Ihr natürlich auch auflisten könnt:
fastfetch --list-modules
Wenn Ihr ein Modul so wie vorgegeben nutzen wollt, genügt ein simpler Eintrag:
...
"gpu",
...
würde Informationen GPU/Grafikkarte ausspucken, im Standardformat:
GPU: NVIDIA GeForce
Wollt Ihr da aber etwa lieber "Grafikkarte:" stehen haben, müsst Ihr das GPU-Modul so aufrufen:
...
{
"type": "gpu",
"key": "Grafikkarte"
},
...
Über type wird immer das Modul angegeben und key ist immer der vorangestellte Name. Welche Optionen es für welche Module gibt, erfahrt Ihr im JSON-Schema von fastfetch - eine sehr ausführliche Datei auf GitHub.
Die Modulkonfiguration könnte zum Beispiel so aussehen:
"modules": [
{
"cpu",
{
"type": "gpu",
"key": "Grafikkarte"
},
}
]
Hier wären es also die beiden Module cpu mit Standardkonfiguration und gpu mit der expliziten Konfiguration.
Neben der Modulkonfiguration gibt es auch noch Einstellungen für die allgemeine Darstellung und das Logo. Hier mal ein Auszug aus unserer Tutonaut-Konfiguration, die auch für die Screenshots herhalten musste:
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"display": {
"stat": true,
"showErrors": true,
"keyWidth": 30
},
"logo": {
"source": "tutologo.txt"
},
"modules": [
{
"type": "custom",
"key": "Was ist das hier?",
"format": "fastfetch mit Tutonaut-Config \n"
},
"separator",
{
"type": "custom",
"key": "Basisinformationen",
"format": "",
"keyColor": "red"
},
{
"type": "users",
"key": "Nutzer"
},
...
"terminal",
"shell",
"separator",
{
"type": "custom",
"key": "Statusinformationen",
"keyColor": "red"
},
...
{
"type": "brightness"
}
]
}
Interessant hier:
- $schema: Link auf das JSON-Schema auf GitHub
- logo: Pfad zur Logo-Textdatei, relativ zur Konfigurationsdatei
- display: "stat: true" gibt die Ausführungszeit jedes Moduls aus
- display: "keyWidth: 30" setzt alle Modul-Keys auf eine Länge von 30 Zeichen
- custom: Das custom-Modul kann über die Eigenschaft "format" beliebige Texte ausgeben
Das Logo selbst ist einfach nur ein wenig ASCII-Art, erstellt mit irgendeinem Online-Generator:
_____ _ _ _____ ___
|_ _| | | |_ _/ _ \
| | | | | | | || | | |
| | | |_| | | || |_| |
_|_|_ \___/ |_| \___/__
| \ | | / \ | | | |_ _|
| \| | / _ \| | | | | |
| |\ |/ ___ \ |_| | | |
|_| \_/_/ \_\___/ |_|
Nun, möglicherweise sieht das hier in Wordpress nur aus wie Kraut und Rüben ...
Tipps
Wenn Ihr eine eigene Konfiguration habt, samt Logo, und dann vielleicht doch mal nur die Kommandozeile für einen einzelnen Wert bemühen wollt, blendet das Logo (-l) aus:
fastfetch -s gpu -l none
Auch lässt sich fastfetch jederzeit ohne persönliche Konfiguration ausführen:
fastfetch -c none
Und freilich bietet sich Fastfetch an, um eine Begrüßung für Terminal-Sessions zu bauen und über die ~/.bashrc ausführen zu lassen:
fastfetch -c ~/fastfetch/mygreeting.jsonc
Hier bieten sich vor allem aktuelle Infos an, auf Laptops zum Beispiel das WLAN. Jede neue Terminal-Session könnte dann zum Beispiel so beginnen:
Übrigens: Auf Debian-esken Systemen könnt Ihr es auch mal so versuchen, um an ein paar Infos zu kommen - kann weniger, muss aber nicht installiert werden:
curl cli.help | sh
Kleine Ergänzung: Am Mac kommt es mit Homebrew ins System: brew install fastfetch