lsix: Like "ls", but for images
Command-line tool **lsix** brings image thumbnails to terminals by rendering files as sixel graphics, prompting renewed interest in which emulators and multiplexers (like tmux) properly support the aging but resurging sixel standard. Commenters weigh its practicality against alternatives such as iTerm2’s image protocol, timg, and Zellij, and debate whether rich graphics belong in “thin” terminals versus GUI tools. They also highlight the heavy ImageMagick-driven dependency chain and potential security risks of parsing untrusted images, while noting benefits for remote work, SSH workflows, and text-only environments.
lsix Functionality & Use Cases
lsixlists image thumbnails in the terminal using sixel, effectively “ls for images.”- Users like it for quick visual inspection over SSH, console‑based analysis, and image-processing workflows where seeing intermediate outputs inline is helpful.
- Some consider it “genius” and appreciate not having to download images or open a GUI viewer.
- Others question why one would force pixel graphics into a text terminal instead of using a normal image viewer.
Sixel Graphics & Terminal Support
- Works only on sixel-capable terminals. Confirmed working: xterm (with VT340 mode), mlterm, Mintty, some tmux builds with
--enable-sixel, Zellij, and certain modern terminals. - Many popular terminals lack sixel, especially those based on
libvte(e.g., GNOME Terminal). Emacs and PuTTY/KiTTY also don’t support it. - Some terminals implement alternative image protocols (e.g., Kitty), seen by some as “NIH” versus adopting sixel.
- A capability query (
ESC [ c) is used to detect sixel support.
Tmux, Zellij, and Multiplexing
- Recent tmux versions can be built with sixel support, enabling
lsixinside tmux sessions. - Extensive discussion explains tmux’s value: multiplexing, persistence across SSH disconnects, portable keybindings, and collaboration. Often combined with mosh.
- Zellij is highlighted as a more ergonomic, batteries‑included alternative that already supports sixel and offers floating panes.
Performance, Dependencies & Alternatives
lsixis a Bash script depending directly on ImageMagick; the large dependency list mainly comes from codecs required by ImageMagick.- Some find this heavy; others argue it’s reasonable for broad format support.
- Alternatives mentioned: chafa, timg, catimg, fzf preview with sixel, and terminal‑native image protocols like iTerm2/konsole’s
imgcat.
Security Considerations
- Multiple comments warn that parsing untrusted images (via ImageMagick or libraries like libpng) can be an attack vector.
- Past CVEs in image libraries and even “1‑click” GNOME bugs are cited as examples; caution is advised when running on untrusted directories.
Design & UX Notes
- Filenames currently rendered as pixels, not selectable text, limit usability for some workflows.
- PDFs are skipped by default due to slowness; some find this surprising and would prefer slow-but-explicit behavior with an opt‑out flag.
- Desire expressed for sixel and similar capabilities in the Linux console and more mainstream terminals.