2 Punkte von GN⁺ 2025-01-19 | 1 Kommentare | Auf WhatsApp teilen
  • isd ist ein Tool, das einen besseren Weg zur Verwaltung von systemd-Units bietet, mit einer Terminal User Interface (TUI), über die sich Units durchsuchen lassen, Vorschaen automatisch aktualisiert werden, intelligentes sudo-Handling erfolgt und eine anpassbare Benutzeroberfläche bereitsteht

Kurze Motivation

  • isd vereinfacht die komplexen Abläufe, die für die Interaktion mit systemd-Units nötig sind, und stellt dem Nutzer nützliche Informationen bereit
  • Es reduziert die Mühe, systemctl-Befehle wiederholt eingeben zu müssen, und aktualisiert die Ausgabe automatisch

Installation

  • isd kann über AppImage, nix und uv installiert werden
  • AppImage ist eine einzelne ausführbare Datei, die auf allen Linux-Distributionen ausgeführt werden kann und sich auch auf Remote-Servern mit eingeschränkten Berechtigungen nutzen lässt
  • Um isd in einer nix-Umgebung zu installieren, kann das nix-Paket verwendet werden
  • uv ist ein Python-Paketmanager, über den sich isd installieren und verwalten lässt

Verwendung von isd

  • isd durchsucht systemd-Units, prüft ihren Status und bietet eine Vorschau mit Detailinformationen zu mehreren Units
  • Es sendet systemctl-Befehle an ausgewählte Units und aktualisiert die Statusausgabe automatisch
  • Innerhalb von isd kann ein pager geöffnet werden, um die vollständige Statusausgabe anzuzeigen
  • Für die Journal-Ausgabe lässt sich ein separater pager öffnen, außerdem können anpassbare Themes und Keybindings festgelegt werden

Benutzer-/Systemmodus

  • isd wird im user- oder system-Modus ausgeführt; je nach Modus unterscheiden sich die angezeigten Unit-Typen

Fuzzy-Suche

  • Über die Fuzzy-Suchleiste werden alle Units und Unit-Dateien geladen, die zur Eingabe passen, und abhängig vom aktuellen Status hervorgehoben

Mehrere Units auswählen

  • Im Suchergebnis-Widget können mehrere Units ausgewählt werden; für die ausgewählten Units wird eine Vorschau angezeigt

Befehlspalette

  • Über die Befehlspalette lassen sich alle verfügbaren Befehle und Keybindings anzeigen

Befehle

  • Zum Beispiel kann mit Ctrl+O die ausgewählte Unit gestoppt werden

Pager-Unterstützung

  • Während isd läuft, kann ein pager geöffnet werden, um die vollständige Vorschauausgabe anzuzeigen

Anpassung

  • isd bietet Anpassbarkeit und Konfigurierbarkeit sowie verschiedene Themes und Keybindings, damit Nutzer optimal produktiv arbeiten können

Zusammenfassung

  • Es wird empfohlen, isd selbst auszuprobieren, um zu beurteilen, ob es nützlich ist

Nächste Schritte

  • Den Abschnitt zu Anpassung und Sicherheit ansehen

1 Kommentare

 
GN⁺ 2025-01-19
Hacker-News-Kommentare
  • Viele Nutzer empfinden die systemd-Befehle als wenig intuitiv und umständlich. Besonders störend sind das knappe Feedback der Befehle und die komplexe Verzeichnisstruktur, die für Verwirrung sorgt.

    • Der doppelte Verzeichnisname „systemd/system“ wird als unpraktisch empfunden.
    • Es wird argumentiert, dass die Oberfläche menschenfreundlich sein sollte und Linux weiterhin Spaß machen müsse.
  • Die Art, wie systemd ExecStop behandelt, wird als verwirrend beschrieben.

    • ExecStart ist der Befehl, der beim Start des Dienstes ausgeführt wird, und ExecStop wird ausgeführt, nachdem der Startbefehl abgeschlossen ist.
    • Mit der Einstellung RemainAfterExit=yes kann beim Beenden des Dienstes die gewünschte Funktion ausgeführt werden.
  • Es wird auf die Schwierigkeiten bei der Nutzung von CLI-Befehlen hingewiesen; mit Tools wie lazygit oder lazydocker lasse sich der Systemzustand besser erfassen.

    • Aus Sicht eines NixOS-Nutzers wären Service-Erkennung, Sichtbarkeit und Verwaltung hilfreich.
  • Es wird erwähnt, dass die TUI von systemd-client auch auf macOS, FreeBSD und Windows nötig wäre, nicht nur auf Linux.

    • Bei der Installation mit dem Tool uv gab es Probleme, dennoch wird uv als schneller als pip bewertet.
  • Mit uv sei die Installation von Tools einfacher geworden, allerdings werde eine Installationsroutine benötigt, die Python-Abhängigkeiten ignoriert.

    • Unter Python 3.10 funktionierte es nicht, ließ sich aber mit der Option -p 3.13 lösen.
  • Die Arbeit mit der systemd/dbus-API sei schwierig gewesen, dennoch bestehe die Erwartung, dass sich mit dem neuen Projekt etwas ausprobieren und lernen lässt.

  • Obwohl die Interaktion mit systemd meist nur triviale Aufgaben betreffe, werde die Bedienbarkeit als unzureichend empfunden, und eine TUI werde als hilfreich bewertet.

    • Es wird erwähnt, dass die Automatisierung von Systeminteraktionen die Unannehmlichkeiten reduziert habe.
  • Bedauert wird, dass sich das Tool nicht auf Remote-Servern und in Docker-Images installieren lässt.

    • Gewünscht wird, es lokal zu installieren und dann per ssh und dem Befehl docker exec Remote-Befehle auszuführen.
  • Jemand sagt, dass er systemd mag, fragt aber, ob vor der Installation eine Verbindung zu Remote-Hosts möglich ist.

    • Der Befehl systemctl --host <hostname> wird häufig verwendet.
  • Es wird gefragt, ob es möglich ist, vor einem bestimmten Dienst einen anderen Dienst auszuführen, ohne die Unit-Datei des anderen Dienstes zu ändern.