lsix: una herramienta que muestra miniaturas de imágenes en la terminal
Uso
- Se puede usar con el comando
lsix [archivos ...].
- De forma predeterminada, muestra las imágenes del directorio de trabajo actual.
- Se pueden indicar nombres de archivos o usar comodines (por ejemplo:
lsix *jpg*png).
Ejemplos
Uso básico
- Al escribir el comando
lsix, muestra las imágenes del directorio actual.
- Para forzar la visualización de un tipo de archivo específico, se puede indicar el nombre del archivo o usar comodines (por ejemplo:
lsix *.pdf).
Expansión de GIF
- Si se indica un archivo GIF, todos los cuadros se expanden y se muestran como un montaje (por ejemplo:
lsix nyancat.gif).
Detección del color de fondo de la terminal
- Los archivos PNG y SVG muestran correctamente el canal alfa de acuerdo con el color de fondo de la terminal.
- Detecta el color de primer plano y de fondo de la terminal para ajustarlos adecuadamente.
Funciones
- Detecta si la terminal puede mostrar gráficos SIXEL.
- Funciona bien incluso en servidores remotos a través de SSH.
- También funciona bien con gráficos no bitmap (por ejemplo: .svg, .eps, .pdf, .xcf).
- Detecta automáticamente la cantidad de registros de color de la terminal y mejora la calidad de la imagen.
- Detecta automáticamente el color de primer plano y de fondo de la terminal.
- Cuando hay muchas imágenes, las muestra una línea a la vez, por lo que no hace falta esperar al montaje completo.
- Ajusta correctamente los nombres de archivo largos al mostrarlos.
- Se puede cambiar fácilmente el ancho de los mosaicos del montaje, la familia tipográfica, el tamaño en puntos y más.
Instalación
- Coloca el archivo
lsix en una ruta del sistema y ejecútalo (por ejemplo: /usr/local/bin).
- Requiere ImageMagick. Se puede instalar fácilmente con el gestor de paquetes (por ejemplo:
apt-get install imagemagick).
- Los usuarios de MacOS pueden instalarlo con el comando
brew install lsix.
Compatibilidad de terminales
- Terminales compatibles con gráficos SIXEL: XTerm, MLterm, foot, Wezterm, Contour, iTerm2, Konsole, yakuake, WSLtty, MinTTY, Yaft, VTE, sixel-tmux, ttyd.
- Terminales no compatibles con gráficos SIXEL: MacOS Terminal, kitty, todas las terminales estándar basadas en libvte (gnome-terminal, terminator, lxterm), Alacritty.
Configuración
lsix está diseñado para ser muy simple y no tiene archivo de configuración ni banderas de línea de comandos.
- Se puede modificar fácilmente editando directamente el script.
Errores
- En el modo de video inverso de XTerm, el color de fondo no se muestra correctamente.
- El ancho de pantalla de XTerm está limitado a 1000px.
- Si un nombre de archivo empieza con "@", ImageMagick produce un error.
- Si se indica una cadena vacía como nombre de archivo, ImageMagick se queda colgado.
- Los nombres de archivo largos se ajustan de forma ineficiente.
- Los directorios indicados en la línea de comandos no se procesan recursivamente.
- Pueden surgir problemas si se indican archivos de video.
Problemas futuros
- El estándar SIXEL no tiene una forma de consultar el tamaño de la pantalla gráfica.
- No hay una forma de consultar la cantidad de registros de color.
- Algunos emuladores de terminal no son compatibles con lsix.
Opinión de GN⁺
- Visualización de imágenes en la terminal: lsix es una herramienta útil que permite ver imágenes fácilmente en la terminal. Resulta especialmente útil al revisar imágenes en servidores remotos.
- Problemas de compatibilidad: como no todas las terminales admiten gráficos SIXEL, conviene verificar la compatibilidad antes de usarlo.
- Instalación sencilla: la instalación es muy simple y el software necesario también se consigue fácilmente.
- Posibilidades de personalización: como el script es simple, los usuarios pueden modificarlo y ampliarlo con facilidad.
- Herramientas alternativas: otras herramientas con funciones similares incluyen
img2sixel.
1 comentarios
Comentarios en Hacker News
--enable-sixely usar herramientas como lsix. Para verificar si tu terminal o multiplexor favorito soporta sixel, puedes consultar el sitio "Are We Sixel Yet".README.md.d. Me parece una buena idea. Incluso podría funcionar sin.md.\e[c.\e[ces la función de "enviar atributos del dispositivo".