¿Cómo hago que mi terminal muestre imágenes gráficas?

111

Esta es una maqueta rápida que copio y pegué. Me imagino que esto es genial y útil.

¿Ya existe algo como esto?

    
pregunta Dennkster 22.01.2012 - 10:41

12 respuestas

50

Tal vez caca sea lo que quieras. Para imágenes :

sudo apt-get install caca-utils
cacaview /PATH/TO/image.jpg

Asegúrate de que la ventana de tu terminal sea lo suficientemente grande.

Por ejemplo, aquí se muestra cómo esta imagen se muestra en cacaview :

A veces lo usaba por diversión para mirar videos como ASCII en mplayer :) Me gusta esto:

mplayer -vo caca /PATH/TO/video.mpg
    
respondido por el user569825 07.09.2012 - 13:35
30

No puede hacerlo en una ventana de terminal, pero puede hacerlo en una consola de Linux usando fbi Necesita un framebuffer para permitir que esto funcione:

sudo apt-get install fbi

Vaya a una consola Linux (usando Control-Alt-F1) e ingrese fbi <filename>

Debería mostrar tu imagen.

    
respondido por el Amith KK 22.01.2012 - 11:12
28

1. w3m

Si bien el objetivo principal de w3m es proporcionar navegación web dentro de la consola, también se puede usar para ver imágenes en la terminal. Los paquetes relevantes para instalar son w3m y w3m-img (en Ubuntu al menos). Luego debe desactivar el visor externo de imágenes pasando -o ext_image_viewer=0 o entrando en el menú de opciones ('o') dentro de w3m y deshabilitando la visualización de imágenes externas.

Ahora, al escribir w3m <image_name> se mostrará la imagen en el terminal. w3m usará toda la ventana del terminal, por lo que no podrá ver sus comandos anteriores hasta que salga w3m (think less , not cat ). Tenga en cuenta que si la imagen es demasiado grande para caber en la ventana de la terminal, aún se abrirá externamente (en imagemagick para mí). También tenga en cuenta que aunque leí varios lugares en los que w3m de imágenes en línea no funcionaría para gnome-terminal , está funcionando bien para mí. Es un poco molesto que tengas que escribir q dos veces para cerrar primero la imagen y luego w3m .

2. Terminología

tycat es parte de terminology y muestra imágenes como cat y muestra archivos de texto y como imgcat funciona para iTerm2 en OS X.

3. libsixel + mlterm / xterm

Instalar libsixel-bin y cualquier terminal compatible (ejemplos mencionados en 'Requisitos' de este archivo léame , por ejemplo mlterm o xterm compilado con los indicadores correctos y puede ver imágenes con el comando img2sixel . Ambos paquetes están disponibles en los repositorios de Ubuntu.

4. FIM

Luego, está FIM , que es una versión mejorada de fbi . La página de inicio indica que puede mostrar imágenes no solo con el framebuffer, sino también con X. Sin embargo, no se instalará para mí. Editar Lo ejecuté descargando la versión troncal de 0.5, ejecutando ./configure --disable-exif y luego eliminando temporalmente anaconda (distribución python) de mi ruta, ya que causó un conflicto con libpng antes de ejecutar make y sudo checkinstall (necesita escribir un número de versión manualmente con checkinstall , pero hace que sea más fácil de eliminar que make install ). Sin embargo, las imágenes se muestran en una ventana separada, aunque al igual que con fbi , no es necesario que esté ejecutando X, lo que es genial.

5. jupyter-qtconsole

También podría ser creativo y usar jupyter-qtconsole como consola del sistema, configurarlo para mostrar gráficos en línea ( %matplotlib inline ) y luego muestra la imagen usando matplotlib =)

6. feh

feh usa X para mostrar imágenes, pero feh -x las abre en una ventana sin bordes que se puede cerrar rápidamente con q o x . Aunque las imágenes no se muestran en la terminal por ejemplo, pensé que valía la pena mencionarlas, ya que es la forma menos intrusiva que he encontrado hasta ahora y lo que estoy usando hasta que gnome-terminal obtenga un imgcat / tycat equivalent.

    
respondido por el Joel Ostblom 14.11.2015 - 23:28
24

Escribí una pequeña herramienta de C ++ para convertir imágenes en códigos de control ANSI RGB y caracteres de gráficos en bloque Unicode para terminales modernos compatibles con estas características: enlace

Instalación:

git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src/main/cpp
make
sudo make install

Uso:

tiv <image(s)>

Editar : Cambió enlaces / instrucciones al repositorio principal; uso agregado.

Ejemplos:

    
respondido por el Stefan Haustein 09.04.2016 - 01:06
18

Otra alternativa es la terminología:

enlace

Puedes instalarlo en Ubuntu agregando el repositorio enlightenment-git :

sudo add-apt-repository ppa:enlightenment-git/ppa
sudo apt-get update && sudo apt-get install terminology

O en versiones recientes de Ubuntu & gt; = Vivid (15.04), se puede obtener de los repositorios oficiales.

sudo apt-get install terminology

Para ver una imagen, escriba tycat IMAGENAME y para ver una lista de imágenes, escriba tyls -m .

    
respondido por el Javier López 27.02.2014 - 03:09
18

Hice una función de shell de una línea muy rápida y sencilla que resuelve la pregunta original exactamente como se solicita en las maquetas. Tenga en cuenta que las capturas de pantalla a continuación son imágenes reales, no maquetas.

function lsix() { montage -tile 7x1 -label %f -background black -fill white "[email protected]" gif:- | convert - -colors 16 sixel:-; }

Los requisitos previos son mínimos: xterm e ImageMagick ( apt-get install xterm imagemagick ). Su xterm debe estar en modo vt340, que puede establecer en ~/.Xresources o desde la línea de comando ( xterm -ti vt340 ).

Limitaciones: solo se muestran 16 colores sobre todas imágenes mostradas. Eso significa que una imagen puede verse mejor cuando se ve por sí misma. (Vea abajo).

ACTUALIZAR

Aunque mi respuesta anterior sigue siendo correcta, he creado un script de shell aún mejor que puede hacer un 'ls' de imágenes directamente en un terminal. Hay todo tipo de mejoras que agregué para que las imágenes se vean mejor (más colores, una orientación alfa, JPEG adecuada, manejo de muchas imágenes, diseño compacto de mosaicos, ...). Todavía es un programa bastante pequeño, pero pensé que la gente podría querer personalizarlo, así que lo he puesto en github: enlace .

    
respondido por el hackerb9 31.05.2017 - 13:24
12

De hecho, hay un proyecto así llamado TermKit , si desea probarlo, consulte enlace pero no está terminado (ya que parece que tienes una Mac, deberías prueba la versión Mac ya que es "la original")

Así que sí, es una idea que vale la pena explorar, sin embargo, el cambio entre el modo gráfico y el modo solo texto debe ser rápido ya que no siempre necesito las imágenes visualizadas. Además, debe ser totalmente compatible con, por ejemplo, Vim ..

    
respondido por el sakjur 22.01.2012 - 11:39
8

Esto no existe; gnome-terminal solo es capaz de mostrar texto, al menos hasta donde yo sé.

Sin embargo, puedes llamar a un visor de imágenes desde la línea de comandos para ver tus imágenes en una carpeta en particular. Por lo tanto, saliendo de su maqueta anterior que muestra todas las imágenes .jpg en la carpeta actual, puede usar Eye of GNOME (el visualizador de imágenes predeterminado de Ubuntu) desde la línea de comandos para obtener algo similar:

eog *.jpg &

Tenga en cuenta que la ventana que aparece solo mostrará una imagen a la vez, aunque puede usar los botones de flecha proporcionados para alternar entre ellas.

    
respondido por el Christopher Kyle Horton 22.01.2012 - 11:12
6

Escribí una herramienta para hacer esto. Llamé a la mía Show Image In Terminal ( siit ). Supone que tiene un terminal de 256 colores y soporte UTF8, y está escrito en perl.

Lo dejé caer en mi ~/bin . Asume que tienes Image :: Magick, Term :: Size, Getopt :: Long y Time: HiRes, que deberían estar todos disponibles en los repositorios de tu distribución, o CPAN.

Mi intención era entrar a mi casa y ver rápidamente las imágenes sin abrir una pantalla en X. El script escala al ancho / alto apropiado para el terminal en el que se encuentra. Utilicé caracteres UTF8 para duplicar de manera efectiva la resolución vertical de su terminal , lo que realmente ayuda a la claridad. YMMV.

Imágenes de muestra aquí

Código fuente aquí

    
respondido por el Tom 04.05.2013 - 17:04
3

Aquí hay algunas soluciones en node.js (Instrucciones de instalación aquí ).

  1. tubo de imagen

  2. imágenes

Para instalar cualquiera, escribe npm install -g <package_name> donde package_name es% de picture-tube o imaging .

    
respondido por el Nemo 02.02.2014 - 14:54
3

Además de la respuesta de Joel , Ranger con la extensión w3mimgdisplay puede mostrar imágenes a todo color y también es compatible con las" previsualizaciones de arte ASCII anteriores a la escuela ". Aquí es cómo puede habilitarlo. Esto puede no ser exactamente lo que estabas buscando, sino una forma de previsualizar imágenes en la terminal.

    
respondido por el Ahmet Seha Çelenk 13.05.2017 - 09:32
2

Otra herramienta es catimg , aunque no hay un paquete listo para Ubuntu. En realidad, no ve la imagen, sino que la convierte en caracteres de colores.

    
respondido por el some user 27.09.2016 - 16:32

Lea otras preguntas en las etiquetas