Mostrar imagen sobre SSH, no X

10

¿Hay alguna forma de mostrar una imagen a través de SSH? No hay necesidad de buena calidad, solo necesito una idea de lo que hay en las imágenes. En su mayoría, estos son archivos de iconos para sitios web y demás. A veces puedo simplemente reenviar X sobre SSH y usar, displaypero a veces no puedo. No me importa trabajar en un tty que no sea X para aplicaciones como fbi.

Lo he intentado jp2apero la mayoría de las imágenes están en formato .png y es engorroso convertir cada una para verificar qué hay en ellas. Además, al usar solo los caracteres ASCII, la visualización es muy muy limitada. Quizás si pudiera usar caracteres UTF-8 arbitrarios, esto podría ser mejor.

Lo he intentado fbipero se queja ioctl VT_GETSTATE: Invalid argument (not a linux console?)incluso cuando estoy ingresando SSH a través de un tty no gráfico. Intenté la -T 2opción que no arroja ningún error pero no veo la imagen. Sospecho que la imagen se está 'mostrando' en tty2 del servidor, lo que no tengo forma de ver (no pude acceder a ella chvt 2a pesar de que tengo acceso de root).

He intentado links, w3cy otros navegadores de consola, pero lo mejor que he sacado de ellos es ver el archivo de imagen mostrado como si se ejecutara cat.

He probado mplayerlas opciones de salida de la consola, pero esas solo admiten video, ya que de hecho son códecs de video.

zgvSin embargo, lo he intentado como usuario normal, se queja you must be the owner of the current console to run zgvy, como root, simplemente se cuelga, sin salida.

dotancohen
fuente

Respuestas:

9

Prueba 'img2txt'. Para Ubuntu se puede encontrar en el paquete 'caca-utils'.

'caca-utils' parece estar también disponible como rpm.

Kride
fuente
Nunca antes había oído hablar de él, pero parece perfecto. +1
Hennes
Funciona fantásticamente bien. Pero todavía no puedo entender las imágenes, jajaja.
Camilo Martin
En su programa de terminal, baje el tamaño de fuente a algo así como 1x1 antes de ver la imagen, luego cambie el tamaño del programa del terminal al tamaño máximo.
LawrenceC
Esto es mejor que casi todas las soluciones que he leído considerando que es fácil de instalar y funciona a través de ssh.
Sridhar Sarnobat
2

Una forma de mostrar una 'imagen' con una pantalla de texto es a través de aalib .

Eso usará caracteres ASCII para representar una imagen, y si tiene un área de texto lo suficientemente grande (tipo de resolución), puede reconocer lo que se muestra.

Ejecutaría la conversión a ASCII-art / movies en el lado remoto del enlace SSH.

Enlace: demostración de aalib en youtube .

Además, al usar solo los caracteres ASCII, la visualización es muy muy limitada.

Sí. Lo que significa que a menos que tenga un terminal grande para jugar , apenas reconocerá imágenes de mil millones. Si puede usar un terminal grande en una pantalla de alta densidad (con letras agudas incluso cuando usa una fuente pequeña), entonces es utilizable.

Hennes
fuente
Gracias. Para usar aalib, uno debe instalar (en Ubuntu) aalib1y ejecutarlo con asciiview file.jpg. Esa última orden me llevó un tiempo entender.
dotancohen
3
Revisando esto un año después, ahora para usar asciiviewuno debe instalar el aviewpaquete.
dotancohen
1

no tan rápido como el concepto de vista ascii (pero de calidad total):

 localComp$ ssh remoteCompIp 'cat image.jpg | ssh localCompIp fim -i' 

fim también funciona para archivos pdf, y para archivos wav / mp3 / mp4 fim -ise pueden reemplazar con

mplayer -vo fbdev2 -cache 16384 -.

MetNP
fuente
2
¿Qué es FIM y hay un enlace para FIM? Por favor expanda.
sospechoso
1
@suspectus, en realidad sería mejor si fbi puede hacer esto, porque parece una herramienta más simple y rápida ... pero estaba buscando un visor de imágenes framebuffer que pueda mostrar imágenes desde la tubería (stdin) y aparece fim en [ manpages.ubuntu .com / manpages / quantal / man1 / fim.1.html] páginas de manual de ubuntu, también hay [ aur.archlinux.org/packages/fim] (aur) para archlinux. pero tal vez haya una herramienta mejor para este propósito
MetNP