¿Cómo puedo ver imágenes a través de ssh?


23

Estoy monitoreando un sitio web y quiero saber si hay una manera de ver las imágenes a través de ssh en lugar de cargar el sitio web cada vez.


¿Entonces tiene acceso ssh al servidor y está viendo el directorio de imágenes?
Frank Thomas

Sí, configuré un scritp para alertarme cuando se agrega algo nuevo. Ahora quiero poder verlo y eliminarlo o aprobarlo a través de ssh.
mrhobbeys

Respuestas:


32

No ha dicho desde qué sistema operativo se está conectando. Si está utilizando un * nix que ejecuta un servidor X, puede utilizar el reenvío ssh X. Esto le permitirá ejecutar aplicaciones gráficas en el servidor remoto y mostrarlas en la máquina local. Por ejemplo:

ssh -Y user@server
eog pictures/foo.png

Suponiendo que el servidor se haya eoginstalado, esto debería hacer que la imagen se abra y se muestre en su pantalla.

Para referencia futura, cuando haga preguntas en este sitio, es una buena idea especificar el sistema que está utilizando porque la respuesta correcta a menudo dependerá de ello.


Hoy estoy en Windows con masilla y xming, así que voy a intentarlo.
mrhobbeys

Esto funciona muy bien.
mrhobbeys

5

si está en OS X, usando iTerm2, puede hacer imgcaty mostrar la imagen directamente en el terminal.

https://www.iterm2.com/documentation-images.htmlingrese la descripción de la imagen aquí


¿Qué pasa si está en osx con iterm 2 y ha utilizado sshpara entrar en una máquina remota?
Andrew Hundt

1
Funcionará si tiene el script imgcat en el servidor.
Dyno Fu

2
imgcat, ¿no sería más apropiada la imagen de un gato?
CousinCocaine

¿El servidor tiene que ser OS X? ¿Qué debo hacer exactamente si mi servidor es Ubuntu y mi cliente es Mac?
Sridhar Sarnobat

No hay ningún requisito en el servidor. si eres ssh desde la terminal, el servidor debe tener imgcat. Básicamente, imgcat convierte la imagen en algo que iTerm2 puede entender.
Dyno Fu

3

Este es un punto de dolor común entre los investigadores de visión por computadora. Creé un pequeño script ( https://github.com/nicodjimenez/ImgView ) que utilizo para servir imágenes en un directorio en una máquina remota python run.py -d path/to/image/dir/. Luego uso el túnel ssh para reenviar un puerto local al puerto remoto en el que estoy ejecutando el servidor, y luego solo veo las imágenes en mi máquina local apuntando mi navegador web a mi puerto local, por defecto http: //0.0 .0.0: 8000 / . Este enfoque es el más flexible para ver imágenes a través de ssh porque puede controlar la apariencia de la pantalla.


Parece que el repositorio está inactivo, pero esto también se puede lograr con el servidor web incorporado python -m SimpleHTTPServer. Además, si su máquina y servidor locales están en una VPN, no hay necesidad de enviar ssh.
crizCraig

Con pitón 3: python -m http.server. Servirá todos los archivos en la carpeta actual.
fabian789

2

tiv (o herramientas similares) deberían funcionar en la mayoría de los casos. Esto no requiere ningún emulador de terminal especial ya que solo imprime códigos RGB ANSI.

ingrese la descripción de la imagen aquí

También es compatible con comodines.


1

En general, puede transferir los datos multimedia, por ejemplo, imágenes, a su escritorio local o al terminal ssh si es capaz de mostrar medios:

  • Reenvío de XWindow: trae a su pantalla cualquier aplicación de visor de imágenes de escritorio desde el host remoto
  • sftp: cualquier cliente sftp transfiere los medios a su escritorio local donde puede iniciar un visor de imágenes
  • sistema de archivos ssh: un poco como sftp, pero el sistema de archivos remoto está perfectamente integrado localmente para que los visores de imágenes locales puedan iniciar
  • O basado en la web: este terminal (como muchos otros) es capaz de mostrar los datos de la imagen (¡los datos de la imagen son "cat" ed!)

http://liftoffsoftware.com/Products/GateOne ingrese la descripción de la imagen aquí


1

En Linux, puede redirigir la salida ssh. Con la ayuda de un visor de imágenes capaz de leer desde la entrada estándar (consulte ¿Hay un visor de imágenes que toma imágenes en STDIN? ) Y el Unix Pipe |, obtengo:

ssh remote_host "cat /remote/path/to/image" | display

PD: esto requiere el programa de visualización de ImageMagick en el host local. El comando entre comillas es ejecutado por ssh en el host remoto. O para otros visores de imágenes (aquí visor de imágenes Gnome eog):

FIFO=$(mktemp -u);
ssh remote_host "cat /remote/path/to/image" > "$FIFO";
eog  "$FIFO" && rm "$FIFO";

0

Si tiene la ruta de las imágenes que le puede gustar, dijo Frank Thomas, puede descargarlas y abrirlas en un visor de imágenes a través de scp o tal vez sftp si tiene acceso. Si está utilizando Linux, haga un wget en las imágenes, pero, por supuesto, no puede abrirlas en un shell, por lo que descargarlas es su mejor opción si está hablando exclusivamente de shell.


Esto realmente no funcionaría bien solo porque en ese momento sería más fácil abrir un navegador para verlos.
mrhobbeys

Bueno, depende de la configuración, porque si los nombres de las imágenes tienen una ruta de acceso y una convención de nomenclatura similares, entonces podría ser una secuencia de comandos y convertirse en un cronjob.
MDMoore313

0

También puede usar sshfs, si está bajo Linux.


o use WinSCP si está en Windows.
Frank Thomas

1
@FrankThomas: Bueno, eso no era lo que tenía en mente. Con sshfsusted simplemente puede montar el sistema de archivos remoto y se comportará como si los archivos estuvieran en su computadora. No es necesario descargar nada ...
carlspring

0

Yo uso thunar(un administrador de archivos, también trabaja con nautilusy probablemente otros) para hacer este tipo de cosas.

Si ingresa la dirección:

sftp://user@ip:port/

Se conectará a través de ssh(opcionalmente, solicita una contraseña / frase de contraseña) y mostrará el sistema de archivos visualmente, donde puede abrir las imágenes con un visor (por ejemplo , gpicviewo eog, pero eogen este caso encontré que era lento).


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.