4 Punkte von GN⁺ 2024-06-08 | 1 Kommentare | Auf WhatsApp teilen

lsix: Ein Tool, das Bild-Thumbnails im Terminal anzeigt

Verwendung

  • Verwendbar mit dem Befehl lsix [Dateien ...].
  • Standardmäßig werden die Bilder im aktuellen Arbeitsverzeichnis angezeigt.
  • Es können Dateinamen angegeben oder Wildcards verwendet werden (z. B. lsix *jpg*png).

Beispiele

Grundlegende Verwendung

  • Mit dem Befehl lsix werden die Bilder im aktuellen Verzeichnis angezeigt.
  • Um ein bestimmtes Dateiformat erzwungen anzuzeigen, kann ein Dateiname angegeben oder eine Wildcard verwendet werden (z. B. lsix *.pdf).

GIF-Erweiterung

  • Wenn eine GIF-Datei angegeben wird, werden alle Frames entfaltet und als Montage angezeigt (z. B. lsix nyancat.gif).

Erkennung der Terminal-Hintergrundfarbe

  • PNG- und SVG-Dateien zeigen den Alpha-Kanal passend zur Hintergrundfarbe des Terminals korrekt an.
  • Die Vordergrund- und Hintergrundfarbe des Terminals werden erkannt und entsprechend angepasst.

Funktionen

  • Erkennt, ob das Terminal SIXEL-Grafiken anzeigen kann.
  • Funktioniert auch auf Remote-Servern über SSH gut.
  • Funktioniert auch mit nicht-Bitmap-Grafiken gut (z. B. .svg, .eps, .pdf, .xcf).
  • Erkennt automatisch die Anzahl der Farbreigister des Terminals und verbessert die Bildqualität.
  • Erkennt automatisch die Vordergrund- und Hintergrundfarbe des Terminals.
  • Bei vielen Bildern erfolgt die Anzeige zeilenweise, sodass nicht auf die gesamte Montage gewartet werden muss.
  • Lange Dateinamen werden passend umbrochen angezeigt.
  • Kachelbreite der Montage, Schriftfamilie, Punktgröße usw. lassen sich leicht ändern.

Installation

  • Die Datei lsix in einen Pfad legen und ausführen (z. B. /usr/local/bin).
  • ImageMagick wird benötigt. Kann leicht über den Paketmanager installiert werden (z. B. apt-get install imagemagick).
  • MacOS-Nutzer können es mit dem Befehl brew install lsix installieren.

Terminal-Unterstützung

  • Terminals mit Unterstützung für SIXEL-Grafiken: XTerm, MLterm, foot, Wezterm, Contour, iTerm2, Konsole, yakuake, WSLtty, MinTTY, Yaft, VTE, sixel-tmux, ttyd.
  • Terminals ohne Unterstützung für SIXEL-Grafiken: MacOS Terminal, kitty, alle standardmäßigen libvte-basierten Terminals (gnome-terminal, terminator, lxterm), Alacritty.

Konfiguration

  • lsix ist sehr einfach aufgebaut und hat keine separate Konfigurationsdatei oder Kommandozeilen-Flags.
  • Durch direktes Bearbeiten des Skripts lässt es sich leicht anpassen.

Bugs

  • Im Reverse-Video-Modus von XTerm wird die Hintergrundfarbe nicht korrekt angezeigt.
  • Die Bildschirmbreite von XTerm ist auf 1000px begrenzt.
  • Wenn ein Dateiname mit "@" beginnt, verursacht ImageMagick einen Fehler.
  • Wird eine leere Zeichenkette als Dateiname angegeben, hängt sich ImageMagick auf.
  • Lange Dateinamen werden ineffizient umgebrochen.
  • Auf der Kommandozeile angegebene Verzeichnisse werden nicht rekursiv verarbeitet.
  • Beim Angeben von Videodateien können Probleme auftreten.

Zukünftige Probleme

  • Der SIXEL-Standard bietet keine Möglichkeit, die Größe des Grafikbildschirms abzufragen.
  • Es gibt keine Möglichkeit, die Anzahl der Farbregister abzufragen.
  • Einige Terminal-Emulatoren sind nicht mit lsix kompatibel.

Meinung von GN⁺

  • Bilder im Terminal anzeigen: lsix ist ein nützliches Tool, mit dem sich Bilder im Terminal einfach betrachten lassen. Besonders hilfreich ist es beim Prüfen von Bildern auf Remote-Servern.
  • Kompatibilitätsprobleme: Da nicht alle Terminals SIXEL-Grafiken unterstützen, sollte die Kompatibilität vor der Nutzung geprüft werden.
  • Einfache Installation: Die Installation ist sehr einfach, und die benötigte Software ist ebenfalls leicht verfügbar.
  • Anpassbar: Das Skript ist einfach gehalten, sodass Nutzer es leicht ändern und erweitern können.
  • Alternative Tools: Andere Tools mit ähnlicher Funktion sind z. B. img2sixel.

1 Kommentare

 
GN⁺ 2024-06-08
Hacker-News-Kommentare
  • Der experimentelle sixel-Branch von Tmux wurde vor etwa 10 Monaten in den Main-Branch gemergt. Jetzt kann man Tmux mit der Option --enable-sixel bauen und Tools wie lsix verwenden. Um zu prüfen, ob dein bevorzugtes Terminal oder dein Multiplexer sixel unterstützt, kann man die Website „Are We Sixel Yet“ konsultieren.
  • Die Funktion, die mir in diesem Repository am besten gefällt, ist das Verzeichnis README.md.d. Ich halte das für eine gute Idee. Wahrscheinlich könnte man sogar das .md weglassen.
  • Mit \e[c wird die sixel-Unterstützung automatisch erkannt. \e[c ist die Funktion „Geräteeigenschaften senden“.
  • In einem ähnlichen Kontext gibt es auch das Tool timg.
  • Gute Idee, aber es funktioniert nicht in PuTTY/KiTTY. Man muss ein Terminal verwenden, das sixel-Grafiken unterstützt. Um zu testen, ob das Terminal sixel unterstützt, kann man ein Bild konvertieren und nachsehen. Falls nicht, kann man einen Bugreport einreichen.
  • iTerm2 auf macOS bietet eine ähnliche Funktion, verursacht aber weniger Last auf der Serverseite. Statt das Bild auf dem Server als sixel zu rendern, wird ein base64-kodiertes Bild an den Client geschickt und dort lokal gerendert.
  • fzf bietet seit Version 0.44.0 (experimentelle) Unterstützung für sixel-Bilder im Vorschaufenster. Unter Windows ist das jedoch nicht nutzbar.
  • Die HN-Schriftart kann irreführend sein. Ich warte auf die nächste Überschrift: „Isis, like "ls", but for terrorists.“
  • Man sollte vorsichtig sein, wenn man dieses Tool in einem nicht vertrauenswürdigen Verzeichnis ausführt. Besonders wenn dabei ImageMagick zum Verarbeiten von Dateien wie PDFs verwendet wird, ist Vorsicht geboten.
  • Solange das Terminal sixel-Grafiken unterstützt, gibt es kein Problem.