Das Flag --benchmark zeigt Zeitinformationen fur die parallele Probephase und die Gesamtausfuhrungszeit an:
xfetch --benchmark
Beispielausgabe:
Parallel probes: 127ms
Total time: 189ms
Benchmark-Zeitmessung umfasst:
thread::scope)xfetch zwischenspeichert bestimmte Daten, um die Leistung bei wiederholten Ausfuhrungen zu verbessern.
Der Cache wird als JSON-Datei gespeichert unter:
| Plattform | Pfad |
|---|---|
| Linux | ~/.cache/xfetch/cache.json |
| macOS | ~/Library/Caches/xfetch/cache.json |
| Windows | %LOCALAPPDATA%/xfetch/cache.json |
| Daten | TTL | Zweck |
|---|---|---|
| Paketanzahlen | 5 Minuten | Vermeidet mehrfache Ausfuhrung von Paketmanager-Befehlen |
| Offentliche IP | 5 Minuten | Vermeidet wiederholte HTTP-Anfragen |
# Alle zwischengespeicherten Daten loschen
xfetch --clean-cache
Setzen Sie disable_cache: true in Ihrer Konfiguration, um das Caching vollstandig zu deaktivieren:
{
"disable_cache": true
}
Dies ist nutzlich fur Umgebungen, in denen sich der Systemzustand haufig andert, oder wenn Sie bei jeder Ausfuhrung die aktuellsten Daten wunschen.
xfetch bietet Optionen zur Steuerung des Netzwerkzugriffs und der Datenerfassung.
Das Modul public_ip fuhrt eine HTTP-Anfrage an einen externen Dienst durch. Um dies aus Datenschutzgrunden zu deaktivieren:
{
"disable_ip_fetching": true
}
Wenn aktiviert, gibt das Modul public_ip "Disabled" zuruck, anstatt zu versuchen, die IP-Adresse abzurufen.
Das pluginbasierte Wettermodul fuhrt ebenfalls externe API-Aufrufe durch. Um es zu deaktivieren, entfernen Sie einfach das Plugin aus Ihrer Konfiguration.
| Modul | Netzwerkzugriff | Externer Dienst |
|---|---|---|
public_ip | Ja | ifconfig.me, api.ipify.org, icanhazip.com |
plugin:weather | Ja (falls installiert) | wttr.in |
plugin:github-stats | Ja (falls installiert) | api.github.com |
| Alle anderen Module | Nein | N/A |
xfetch passt sich automatisch an das Betriebssystem an.
| Modul | Linux | macOS | Windows |
|---|---|---|---|
| GPU | lspci -mm | system_profiler SPDisplaysDataType | wmic oder PowerShell |
| Akku | /sys/class/power_supply/BAT* | pmset -g batt | wmic path Win32_Battery |
| Shell | $SHELL | $SHELL | Prozess-Elternkette durchlaufen |
| Datum/Uhrzeit | date-Befehl | date-Befehl | PowerShell |
| Pakete | pacman, dpkg, rpm, flatpak, snap, apk, nix-env | brew | scoop, winget |
| Konfigurationspfad | ~/.config/xfetch/ | ~/Library/Application Support/xfetch/ | %APPDATA%/xfetch/ |
| Cache-Pfad | ~/.cache/xfetch/ | ~/Library/Caches/xfetch/ | %LOCALAPPDATA%/xfetch/ |
| Binary-Name | xfetch-plugin-<name> | xfetch-plugin-<name> | xfetch-plugin-<name>.exe |
xfetch verwendet abgestufte Fallback-Ketten fur plattformspezifische Funktionen:
/etc/timezone > /etc/localtime-Symlink > timedatectlDer Daemon-Modus fixiert eine Animation oben im Terminal und loopt sie im Hintergrund, sodass die Shell-Eingabeaufforderung darunter nutzbar bleibt.
xfetch --daemon # Daemon starten
xfetch --daemon-stop # Daemon stoppen
Die Animation lauft nur in TTY-Terminals; bei Pipes oder Umleitungen wird das statische Logo angezeigt. Der Daemon-Modus erfordert einen logo_animation-Block mit einem Plugin (z. B. animate-logo). Im Daemon-Modus loopt die Animation unbegrenzt — duration_ms und loop werden ignoriert. Fur eine endliche Animation, die von selbst stoppt, den Daemon-Modus deaktiviert lassen.
Hinweis: Sowohl der animierte Daemon als auch der Live-Statistik-Daemon sind nur unter Unix (Linux/macOS) verfugbar. Auf Windows werden sie nicht unterstutzt und geben eine Fehlermeldung aus.
Der Live-Statistik-Daemon (daemon_live) fixiert einen Fetch-Block am oberen Terminalrand und fragt alle daemon_live_refresh Sekunden eine leichte Modul-Teilmenge neu ab. Er ist ein Geschwister des obigen animierten Daemons — der vorhandene animierte Daemon bleibt unverandert. Konfigurationsschlussel: daemon_live, daemon_live_refresh, daemon_live_modules, daemon_live_reload (Hot-Reload der Konfiguration und des aktiven Themes).
xfetch --no-daemon-live # Live-Daemon deaktivieren, auch wenn er in der Konfiguration aktiviert ist
xfetch --daemon-live-stop # laufenden Live-Daemon stoppen
xfetch --daemon-live-reload # Hot-Reload erzwingen
Unter dem Windows-Subsystem fur Linux kann die OS-Zeile uber os_wsl_style (nur Linux) mit WSL-Details dekoriert werden:
| Wert | Verhalten |
|---|---|
off | Schlichter OS-Name, keine Dekoration |
minimal | Fügt (WSL) an (Standard) |
full | Fügt die WSL-Version und WSLg (falls vorhanden) an |
xfetch effects installiert, listet und entfernt Intro-Effekte, die die Inhaltszeilen beim Start des Fetch animieren. Der Konfigurationsschlussel effects (ein einzelner Effekt oder eine Liste) bestimmt, welche Effekte in welcher Reihenfolge abgespielt werden:
xfetch effects install <name> # Effekt installieren
xfetch effects list # installierte Effekte auflisten
xfetch effects remove <name> # Effekt entfernen
{
"effects": {
"plugin": "decrypt",
"duration_ms": 1500,
"fps": 30
}
}
Siehe die Seite Effekte für das vollständige Protokoll, die Konfigurationsfelder und das Schreiben eigener Effekte.
xfetch verwendet mehrere Leistungsoptimierungen:
Die folgenden Proben laufen gleichzeitig mit Rusts thread::scope:
Dies reduziert die Gesamtausfuhrungszeit durch parallele Ausfuhrung von E/A-gebundenen Operationen.
Systemressourcen werden nur initialisiert, wenn das entsprechende Modul angefordert wird:
sysinfo::System (CPU, Arbeitsspeicher, Festplatten, Netzwerke) -- wird lazy initialisiertsysinfo::Disks -- wird nur initialisiert, wenn ein Festplattenmodul konfiguriert istsysinfo::Networks -- wird nur initialisiert, wenn ein Netzwerkmodul konfiguriert istsysinfo::Components -- wird nur initialisiert, wenn Temperaturmodule konfiguriert warenPaketanzahlen und offentliche IP-Abfragen werden mit TTLs zwischengespeichert, um redundante Systemaufrufe und Netzwerkanfragen zu vermeiden.
| Variable | Beschreibung | Verwendet von |
|---|---|---|
USER / LOGNAME | Aktueller Benutzername | Kernmodule (user) |
SHELL | Aktueller Shell-Pfad | Kernmodule (shell) |
HOME | Home-Verzeichnispfad | Kernmodule, Plugin-Erkennung |
TERM_PROGRAM | Terminalemulator-Name | Kernmodule (terminal) |
TERM | Terminaltyp | Kernmodule (terminal) |
WT_SESSION | Windows-Terminal-Sitzung | Kernmodule (terminal) |
XDG_CURRENT_DESKTOP | Desktop-Umgebung | Kernmodule (wm) |
DESKTOP_SESSION | Desktop-Sitzungsname | Kernmodule (wm) |
XFETCH_PLUGIN_REPO | Plugin-Repository-URL | Plugin-Installation |
XFETCH_PLUGIN_DEV_DIR | Plugin-Entwicklungsverzeichnis | Plugin-Erkennung |
GITHUB_USER | GitHub-Benutzername | github-stats-Plugin |
CARGO_NET_GIT_FETCH_WITH_CLI | Git-CLI-Abruf erzwingen | Plugin-Builds |