¿Cuál es la forma más rápida de ver imágenes desde la terminal?

240

El terminal es una forma muy rápida y conveniente de acceder rápidamente a directorios y archivos (más rápido que buscar y hacer clic en el directorio).

Una cosa que no puede mostrar en modo texto son las "imágenes".

¿Cuál es la mejor manera de ver imágenes (como se ve en miniatura de imágenes en Nautilus) cuando está trabajando en la terminal (por ejemplo, comando nautiluso cualquier programa, pero debe ser rápido y conveniente)?

fronthem
fuente
Acabo de ejecutar un emulador de terminal en mi entorno de escritorio. Entonces tiene las ventajas de ambos a la mano.
vonbrand
Tengo que objetar los votos cerrados aquí ya que hay una diferencia sustancial entre la necesidad de ver archivos de imágenes desde un terminal (presumiblemente GUI) (esta pregunta) y la necesidad de verlos en la consola (la otra pregunta).
Ricitos
Proporciono una lista de casi todas sus opciones aquí en este Q&A: Cómo obtener miniaturas JPEG rápidamente
slm
cómo hacerlo desde el interior del terminal askubuntu.com/questions/97542/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

224

La forma de "hacer doble clic" en un archivo desde la línea de comandos es xdg-open.

Si estás en Gnome (probablemente, si estás usando Nautilus), puedes usarlo eogdirectamente o cualquier otro programa de imagen ( fehes bastante bueno).

feh <image-name>      

Si desea consultar el image-namearchivo easilly.

Kevin
fuente
1
feh¡incluso funciona con múltiples URL!
Serge Stroobandt
66
@Searene Yeah! Larga vida a feh. Pero observo que nofeh tiene zoom ni ninguna otra función. eog, sin embargo, también es liviano y, además, puede hacer zoom , rotar y explorar las imágenes en una carpeta :). Solo para que la gente sepa antes de tomar una decisión.
loved.by.Jesus
1
aunque eogestá preinstalado en mi sistema operativo ubuntu, todavía prefiero fehporque puede cerrarse por un qtiempo eogy xdg-openpuede cerrarse por esc.
Evan Hu
55
En realidad, fehtiene zoom, pantalla completa, desplazamiento, etc. mira la página del
manual
1
@pikachuchameleon necesitará configurar un entorno X11 y reenvío. Echar un vistazo a estas instrucciones
Kevin
101

Si tiene instalado imagemagick , puede usar su herramienta de línea de comandos de visualización muy útil .

display path/to/picture.png
AlexBG
fuente
2
Personalmente prefiero feh, pero displaygeneralmente se instala en servidores web, donde fehu otros navegadores de imágenes no están instalados.
pevik
3
La pantalla funciona muy bien en Ubuntu 16.04 LTS Desktop y también en Raspbian. No se requieren instalaciones. TNX de 2017
SDsolar
Genial, funciona incluso con stream:curl https://example.com/image.jpg | display
Pavel
96

Normalmente ejecuto python -m SimpleHTTPServer 8080desde una carpeta que contiene la imagen y la veo desde el navegador en localhost: 8080 / path / to / image.jpg. Funciona muy bien para navegar y mirar diferentes archivos de imagen y texto en ese mismo directorio.

Editar: este método también funciona para cuadros remotos. Simplemente ejecute el servidor de Python como se indicó anteriormente, y si los puertos están abiertos, puede conectarse a myserver.com:8080/path/to/image.jpg. Si el servidor no expone los puertos, puede configurar un túnel ssh con ssh [email protected] -N -L localhost:8080:localhost:8080y luego ver las imágenes desde su navegador local en localhost: 8080 / path / to / image.jpg. Tenga en cuenta que esta interfaz http es mucho más rápida que ssh -X.

RussellStewart
fuente
11
¡Inteligente! Funciona como un encanto y no hay necesidad de escribir /path/to/image.jpg. Simplemente abra localhost:8080y haga clic en los nombres de archivo.
Roger Dahl
1
Con respecto al último párrafo, ¡también puede agregar túneles fácilmente usando la configuración PuTTY! Luego puede acceder a través de un navegador. ¡Increíble!
ADTC
12
Necesitaba python -m http.servercon Python 3
drstevok
x-www-browser /path/to/imageofirefox /path/to/image
Gayan Weerakutti
truco asombroso! Exactamente lo que estaba buscando.
Neara
70

He creado una herramienta que utiliza varios caracteres gráficos de bloque Unicode para mejorar la resolución (en comparación con el enfoque canónico de 2 píxeles por carácter adoptado por otras soluciones publicadas aquí). También muestra automáticamente las imágenes en modo miniatura si se proporcionan varias imágenes como entrada.

Instalación:

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

Uso:

tiv <image(s)>

Más detalles en el proyecto github: https://github.com/stefanhaustein/TerminalImageViewer

Captura de pantalla de ejemplo:

Captura de pantalla

Stefan Haustein
fuente
44
No estoy seguro de por qué el voto negativo, ¿adivina por autopromoción? Sin embargo, creo que es la mejor herramienta para el trabajo y la pregunta sigue siendo relevante hoy.
Stefan Haustein
Es una pena que no funcione apt install. Tal vez es hora de hacer un ppa? En cualquier caso, este paquete funcionó para mí, mientras que ninguno de los otros lo hizo (tal vez los usé de manera incorrecta). Necesitaba poder ver imágenes en la terminal (por ejemplo, cuando estoy dentro de un contenedor Docker) y no llamar a un visor de imágenes desde la terminal. ¡Gracias por su respuesta y solo puedo agradecerle más por crear este paquete pequeño pero valioso!
Artur Barseghyan
¡Gracias! ¿Te importaría crear un FR para un PPA en el proyecto github? Quizás alguien esté feliz de intervenir, al menos no se olvidará hasta que encuentre un poco de tiempo libre para investigar eso ...
Stefan Haustein
un complemento será más fácil para todos: no se debe configurar ppa para usted, no se debe agregar ppa para el usuario -> snapcraft.io
Daniele Dellafiore
Buena herramienta @StefanHaustein! Acabo de crear un RP para permitir a los usuarios usarlo a través de Docker :-)
Bruno Pérel
27

Supongo que feh sería el que estás buscando.

Aunque aparece una ventana similar a un terminal para la visualización de imágenes como lo hace mplayer para la reproducción de video, Feh todavía se considera como un visor de imágenes basado en terminales debido a su estilo de control de comando intensivo.

Chenming Zhang
fuente
19

Si está en OS X, iTerm 2 admite la visualización de imágenes en línea:

Imagen en línea de iTerm2

Como puede imaginar, esto puede ser muy útil cuando solo desea mostrar una imagen sin entrar y abrir Preview.app o tener que abrir el Finder en la imagen y presionar la barra espaciadora en la imagen.

La característica está documentada en la página de características de iTerm2

akshay
fuente
Es realmente lento en mi experiencia.
Ilia Sidorenko
3
Funciona bien para mi. No hay problemas con el retraso. MBP / OSX 10.12.6
Heinrich Hartmann
18

Si está en una terminal pura con framebuffer activado, le recomendaría fbi . Siempre está en mi lista de tareas posteriores a la instalación .

De lo contrario, eog es el abridor de imágenes predeterminado en Gnome, como mencionó Kevin. Además, Shotwell parece abrirse bastante rápido para mí ... Estoy bastante seguro de que hay cientos. :-)

BorrajaX
fuente
Gracias por esto, es nuevo para mí. Por otro lado, googlear me lleva a fim'sla página de manual ( mejorado el visor de imágenes de framebuffer auto-diseñado ) en solo unos pocos resultados de búsqueda. Todavía no sé la diferencia.
mikeserv
12

Sorprendido de que el emulador de terminal Terminología no se encuentre entre las respuestas. Tan fácil como tylsy luego haciendo clic en una imagen:

ingrese la descripción de la imagen aquí

o algo así como tycat image.png, por ejemplo:

ingrese la descripción de la imagen aquí

Además de mucho más. Un video antiguo , hace casi 3 años, que muestra Terminología 0.3: https://www.youtube.com/watch?v=ibPziLRGvkg#action=share .

Nikos Alexandris
fuente
9

La biblioteca imgdisplay de w3m puede mostrar imágenes directamente. Solo funciona en algunos emuladores de terminal como Xterm y URxvt.

Ranger es un explorador de archivos que utiliza la biblioteca para mostrar vistas previas. Agregue esto al archivo de configuración del guardabosques para habilitar la función:

set preview_images true
Ambrevar
fuente
6

En realidad, hay una manera de mostrar un archivo PNG en un terminal en modo texto, usando Picture-Tube:

captura de pantalla

Puedes mirar el proyecto en GitHub .

La imagen es, por supuesto, una aproximación de la imagen real, dado el hecho de que el píxel más pequeño es un personaje: intente ver el resultado en un editor de texto, verá una gran cantidad de códigos de color.

Puede instalar la herramienta de esta manera (suponiendo que ya haya instalado nodo / npm): npm install -g picture-tube

serup
fuente
6

Sin dependencias, un archivo C, un archivo de encabezado: imcat

Funciona en linux, macos, windows. Se escala automáticamente al ancho del terminal, con muestreo descendente de calidad.

ingrese la descripción de la imagen aquí

Observación: ¿en serio? Votado abajo? La próxima vez, tal vez explique en el comentario por qué.

Bram
fuente
¿Alguna idea de por qué no puedo encontrar esto apt-get?
Sridhar Sarnobat
5

Otro gran visor de imágenes basado en terminal es fim , que es un fbi mejorado con un sistema de control similar a vim.

Chenming Zhang
fuente
Buena solución, pero no mostró una manera de hacerlo.
Goddard
Intenté esto Abre una ventana X separada sobre SSH en caso de que alguien se pregunte. Lo que sería ideal para mí es una pantalla de terminal en línea que funcione a través de SSH, pero no creo que haya una buena.
Sridhar Sarnobat
4

Esta es una pregunta de 4 años, pero descubrí que la gente todavía la mira. Entonces, hoy me gustaría responder mi propia pregunta específicamente solo para iTerm2.

Por primera vez hice esta pregunta. El término "más rápido" estaba pensando en ver la imagen tan rápido como el catcomando que muestra el texto. Entonces, hoy encontré la respuesta en iTerm2, que son los dos comandos útiles nombre imgcaty imgls.

Para usarlos, primero vamos a instalar iterm2-nigthly:

$ brew cask install iterm2-nightly

luego visite el sitio web:

https://github.com/olivere/iterm2-imagetools

e instalar imgcaty imglscomandos:

$ go install github.com/olivere/iterm2-imagetools/cmd/imgcat
$ go install github.com/olivere/iterm2-imagetools/cmd/imgls

¡Entonces, realmente los amo y también espero que esto sea útil para todos ustedes!

fronthem
fuente
Esto es muy útil, así que gracias por responder esto 4 años después. Funciona de maravilla, pero es posible que desee incluir el paso go de instalación ( brew install go) para aquellos que aún no lo tienen.
jamescampbell
@jamescampbell, no necesita instalar go para obtener los scripts imgcat e imgls. El desarrollador de iTerm te los proporciona aquí: iterm2.com/documentation-images.html , y estos son scripts de bash.
akshay
1
¿Cuál es la opción más cercana a imgcatLinux? Estoy tratando de cambiar de
cajero automático
4

El terminal del gatito puede mostrarse dentro del terminal con el "gatito" icat

P.ej

kitty +kitten icat /path/to/image

Ejemplo:

ingrese la descripción de la imagen aquí

La documentación del gatito sugiere crear un alias, por ejemplo

alias icat="kitty +kitten icat"

Para que puedas simplemente hacer:

icat /path/to/image

precioso
fuente
3

Desde la terminal? Por qué no en la terminal: cacaview podría ser el más rápido. Por defecto es más rápido si el terminal no tiene gráficos.

En Debian: sudo apt-get install caca-utils

agc
fuente
3

pxl es una opción genial que aún no se ha mencionado. Similar al tubo de imagen que se publicó anteriormente, ya que muestra la imagen directamente en el terminal, aunque admite más formatos de imagen.

Michael Mior
fuente
3

Sólo tiene que utilizar el webrowser Chrome, que apoya jpg, svg, png, ico, animación gif... básicamente todo lo que estoy probable que necesite:

google-chrome ./myphoto.jpg

Si prefieres Firefox:

firefox ./myphoto.jpg
usuario207863
fuente
2

En linux puedes instalar gnome-open.

# In Debian flavors

sudo apt-get install gnome-open

Luego crea un alias:

alias open='gnome-open'

Entonces tú puedes:

open file.pdf
open file.jpg
etc
Tulains Córdova
fuente
Esto se instaló por defecto en mi instalación de Ubuntu.
starbeamrainbowlabs
1

Acabo de encontrar esta página, y todavía es muy relevante hoy. OP realmente no especificó si quieren X o visor fb.

Yo uso una pequeña utilidad llamada pho: http://www.shallowsky.com/software/pho/

Necesita X, así que llame desde la línea de comandos en una ventana de terminal. Visualiza muchos formatos de imagen, gif y jpg con seguridad ... algunos otros también.

Puede hacer comodines desde la línea de comandos: por ejemplo. "$ pho img00 ??. jpg" verá todos los archivos que coincidan en orden. El espacio avanza a través de la lista y el retroceso retrocede. Sus imágenes individuales se cargan rápidamente: mantenga presionado el espacio y vuela a través de ellas.

Muy rápido si quieres mirar un montón de fotos, marcar las que te interesan, rotar, eliminar no deseado ... Sigo volviendo a ello.

De la página web anterior:

pho (pronunciado como la primera sílaba en "foto") es un programa liviano para ver grandes cantidades de imágenes rápidamente, rotar o eliminar algunas, y tomar notas sobre qué hacer con cada imagen, por ejemplo, para ver cientos de imágenes después de subirlos desde una cámara digital.

Miguel
fuente
1

Incluso aunque haya respuestas excelentes, mi problema fue ver las imágenes en el terminal, sin abrir ninguna aplicación gráfica, así que escribí mi propio pequeño script. Solo necesitaba identificar la imagen y no necesitaba todos los detalles de la misma y no quería descargar ningún paquete relativamente grande, si alguien lo necesita también puede usarlo: https://github.com/Deniz97/terminal-image- espectador

Deniz Uluğ
fuente
0

Tengo un alias de shell para macOS llamado previewque puede (1) mostrar una imagen en línea ( -iu --inlineopción), ya sea desde stdin o ruta (s) de archivo especificada, y (2) simplemente abrir una imagen en la aplicación Vista previa de Apple (sin ninguna opción), este último también desde stdin o filepath (s), por ejemplo:

cat image.jpg | preview

preview -i image.png

La visualización en línea solo funciona con el imgcatalias iTerm , por lo que necesita que iTerm esté instalado, en ejecución y en primer plano. Pero previewcomprueba si todo eso es cierto.

En línea aquí: https://github.com/JayBrown/Tools/blob/master/Aliases/preview

JayB
fuente
0

El administrador de archivos Ranger habilita la vista previa de la imagen en la configuración. Administrador de archivos Ranger con vista previa de imagen

Sebastian
fuente
-2

Si usar gnome es tan simple como escribir

$ gnome-open /path/to/photo

y abre la imagen usando el visor de imágenes predeterminado que tiene en su máquina.

Mwalughabura
fuente
3
Ya publicado hace unos meses: unix.stackexchange.com/a/248179/70524
muru
este método será muy lento si tiene muchas imágenes en la misma carpeta con esa imagen.
neouyghur