4 puntos por GN⁺ 2024-06-08 | 1 comentarios | Compartir por WhatsApp

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

 
GN⁺ 2024-06-08
Comentarios en Hacker News
  • La rama experimental de sixel para Tmux se fusionó con la rama principal hace unos 10 meses. Ahora se puede compilar Tmux con la opción --enable-sixel y usar herramientas como lsix. Para verificar si tu terminal o multiplexor favorito soporta sixel, puedes consultar el sitio "Are We Sixel Yet".
  • La función que más me gusta de este repositorio es el directorio README.md.d. Me parece una buena idea. Incluso podría funcionar sin .md.
  • Detecta automáticamente el soporte de sixel usando \e[c. \e[c es la función de "enviar atributos del dispositivo".
  • En una línea similar, también existe una herramienta llamada timg.
  • Buena idea, pero no funciona en PuTTY/ KiTTY. Hay que usar una terminal que soporte gráficos sixel. Para probar si tu terminal soporta sixel, puedes convertir una imagen y comprobarlo. Si no lo soporta, puedes enviar un reporte de error.
  • iTerm2 en macOS ofrece una función similar, pero con menos carga del lado del servidor. En vez de renderizar la imagen como sixel en el servidor, envía una imagen codificada en base64 al cliente para renderizarla localmente.
  • fzf ofrece soporte (experimental) para imágenes sixel en la ventana de vista previa desde la versión 0.44.0. Sin embargo, no se puede usar en Windows.
  • La tipografía de HN puede prestarse a confusión. Estoy esperando el próximo titular: 'Isis, como "ls", pero para terroristas.'
  • Hay que tener cuidado al ejecutar esta herramienta en directorios no confiables. En particular, hay que tener precaución si usa ImageMagick para procesar archivos como PDF.
  • No hay problema siempre que la terminal soporte gráficos sixel.