Wie kann ich Bilder per ssh ansehen?


21

Ich überwache eine Website und möchte wissen, ob es eine Möglichkeit gibt, die Bilder über ssh anzuzeigen, anstatt die Website jedes Mal zu laden.


Sie haben also SSH-Zugriff auf den Server und sehen sich das Bilderverzeichnis an?
Frank Thomas

Ja, ich richte ein Skript ein, um mich zu benachrichtigen, wenn etwas Neues hinzugefügt wird. Jetzt möchte ich es anzeigen und über ssh entfernen oder genehmigen können.
Mrhobbeys

Antworten:


30

Sie haben nicht angegeben, von welchem ​​Betriebssystem aus Sie eine Verbindung herstellen. Wenn Sie ein * nix verwenden, auf dem ein X-Server ausgeführt wird, können Sie die ssh X-Weiterleitung verwenden. Auf diese Weise können Sie grafische Anwendungen auf dem Remote-Server ausführen und auf dem lokalen Computer anzeigen lassen. Zum Beispiel:

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

Vorausgesetzt, der Server ist eoginstalliert, sollte dies dazu führen, dass das Bild geöffnet und auf Ihrem Bildschirm angezeigt wird.

Wenn Sie auf dieser Site Fragen stellen, ist es eine gute Idee, das von Ihnen verwendete System als zukünftige Referenz anzugeben, da die richtige Antwort häufig davon abhängt.


Ich bin heute auf Windows mit Kitt und Xming, also werde ich es versuchen.
Mrhobbeys

Das funktioniert gut.
Mrhobbeys


3

Dies ist ein häufiger Schmerzpunkt bei Forschern der Bildverarbeitung. Ich habe ein winziges Skript ( https://github.com/nicodjimenez/ImgView ) erstellt, mit dem ich Bilder in einem Verzeichnis auf einem Remotecomputer über bereitstelle python run.py -d path/to/image/dir/. Dann verwende ich ssh-Tunneling, um einen lokalen Port an den Remote-Port weiterzuleiten, auf dem der Server ausgeführt wird. Anschließend zeige ich die Bilder auf meinem lokalen Computer an, indem ich meinen Webbrowser auf meinen lokalen Port weise ( standardmäßig http: //0.0) 0,0: 8000 / . Dieser Ansatz ist für die Anzeige von Bildern über ssh am flexibelsten, da Sie das Erscheinungsbild der Anzeige steuern können.


Es sieht so aus, als wäre das Repo ausgefallen, aber dies kann auch mit dem eingebauten Webserver erreicht werden python -m SimpleHTTPServer. Auch wenn sich Ihr lokaler Computer und Server in einem VPN befinden, muss kein SSH weitergeleitet werden.
CrizCraig

Mit Python 3: python -m http.server. Dient zum Bereitstellen aller Dateien im aktuellen Ordner.
Fabian789

1

Im Allgemeinen können Sie die Mediendaten, z. B. Bilder, auf Ihren lokalen Desktop oder das SSH-Terminal selbst übertragen, wenn Sie Medien anzeigen können:

  • XWindow-Weiterleitung: Bringt eine beliebige Desktop-Imageviewer-Anwendung vom Remote-Host auf Ihr Display
  • SFTP: Jeder SFTP-Client überträgt die Medien auf Ihren lokalen Desktop, auf dem Sie einen Bildbetrachter starten können
  • ssh-Dateisystem: Ein bisschen wie sftp, aber das Remote-Dateisystem ist nahtlos lokal integriert, sodass lokale Bildbetrachter gestartet werden können
  • Oder webbasiert: Dieses Terminal ist (wie viele andere) selbst in der Lage, Bilddaten anzuzeigen (die Bilddaten sind "cat" ed!)

http://liftoffsoftware.com/Products/GateOne Bildbeschreibung hier eingeben


1

Unter Linux können Sie die ssh-Ausgabe umleiten. Mit Hilfe eines Bildbetrachters, der von der Standardeingabe lesen kann (siehe Gibt es einen Bildbetrachter, der Bilder auf STDIN aufnimmt? ) Und der Unix-Pipe |erhalte ich:

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

PS: Hierfür ist das Anzeigeprogramm von ImageMagick auf dem lokalen Host erforderlich. Der Befehl zwischen Anführungszeichen wird von ssh auf dem Remote-Host ausgeführt. Oder für andere Bildbetrachter (hier Gnome eog image viewer):

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

1

tiv (oder ähnliche Tools) sollten in den meisten Fällen funktionieren. Hierfür sind keine speziellen Terminalemulatoren erforderlich, da nur RGB-ANSI-Codes gedruckt werden.

Bildbeschreibung hier eingeben

Unterstützt auch Platzhalter.


0

Wenn Sie den Pfad der Bilder haben, wie Frank Thomas sagte, können Sie sie herunterladen und in einem Bildbetrachter über scp oder vielleicht sftp öffnen, wenn Sie Zugriff haben. Wenn Sie Linux verwenden, können Sie die Bilder mit einem Wget versehen, aber natürlich können Sie sie nicht in einer Shell öffnen. Wenn Sie also nur mit einer Shell arbeiten, sollten Sie sie herunterladen.


Dies würde nicht wirklich gut funktionieren, nur weil es zu diesem Zeitpunkt einfacher wäre, einen Browser zu öffnen, um sie anzuzeigen.
Mrhobbeys

Nun, es hängt vom Setup ab, denn wenn die Bildnamen einen ähnlichen Pfad und eine ähnliche Namenskonvention haben, kann das Skript erstellt und in einen Cronjob umgewandelt werden.
MDMoore313

0

Sie können auch verwenden sshfs, wenn Sie unter Linux sind.


oder verwenden Sie WinSCP unter Windows.
Frank Thomas

1
@FrankThomas: Nun, das hatte ich nicht im Sinn. Mit können sshfsSie einfach das Remote-Dateisystem mounten und es verhält sich so, als ob sich die Dateien auf Ihrem Computer befinden. Sie müssen nichts herunterladen ...
Carlspring

0

Ich benutze thunar(ein Dateimanager, der auch mit nautilusund wahrscheinlich mit anderen zusammenarbeitet), um solche Dinge zu tun.

Wenn Sie die Adresse eingeben:

sftp://user@ip:port/

Es wird eine Verbindung über hergestellt ssh(optional wird nach einem Passwort / einer Passphrase gefragt) und das Dateisystem wird visuell angezeigt, sodass Sie die Bilder mit einem Viewer öffnen können (z. B. gpicviewoder eog, eogin diesem Fall erwies es sich jedoch als langsam).


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.