Come posso visualizzare le immagini tramite ssh


23

Sto monitorando un sito Web e voglio sapere se esiste un modo per visualizzare le immagini tramite ssh anziché caricare il sito Web ogni volta.


quindi hai accesso ssh al server e stai guardando la directory delle immagini?
Frank Thomas,

Sì, ho impostato uno scritp per avvisarmi quando viene aggiunto qualcosa di nuovo. Ora voglio essere in grado di visualizzarlo e rimuovere o approvare tramite ssh.
mrhobbeys,

Risposte:


32

Non hai detto da quale sistema operativo ti stai connettendo. Se si utilizza un * nix che esegue un server X, è possibile utilizzare l'inoltro ssh X. Ciò consentirà di eseguire applicazioni grafiche sul server remoto e di visualizzarle sul computer locale. Per esempio:

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

Supponendo che il server sia eoginstallato, ciò dovrebbe causare l'apertura e la visualizzazione dell'immagine sullo schermo.

Per riferimento futuro, quando si fanno domande su questo sito è una buona idea specificare il sistema che si sta utilizzando perché la risposta corretta dipenderà spesso da esso.


Sono su Windows con stucco e xming oggi, quindi ho intenzione di provarlo.
mrhobbeys,

Funziona bene.
mrhobbeys,

5

se sei su OS X, usando iTerm2, puoi fare imgcate visualizzare l'immagine direttamente nel terminale.

https://www.iterm2.com/documentation-images.htmlinserisci qui la descrizione dell'immagine


Che cosa succede se utilizzi osx con iterm 2 e sei già sshentrato in una macchina remota?
Andrew Hundt,

1
Funzionerà se hai lo script imgcat sul server.
Dyno Fu,

2
imgcat, l'immagine di un gatto non sarebbe più appropriata?
Cugina Cocaina,

Il server deve essere OS X? Cosa devo fare esattamente se il mio server è Ubuntu e il mio client è Mac?
Sridhar Sarnobat,

non è richiesto sul server. se sei ssh dal terminale, il server deve avere imgcat. fondamentalmente, imgcat converte l'immagine in qualcosa che iTerm2 può capire.
Dyno Fu,

3

Questo è un punto dolente comune tra i ricercatori di visione artificiale. Ho creato un piccolo script ( https://github.com/nicodjimenez/ImgView ) che utilizzo per servire le immagini in una directory su una macchina remota tramite python run.py -d path/to/image/dir/. Quindi utilizzo il tunneling ssh per inoltrare una porta locale alla porta remota su cui eseguo il server, quindi visualizzo le immagini sul mio computer locale puntando il browser Web sulla mia porta locale, per impostazione predefinita http: //0.0 .0.0: 8000 / . Questo approccio è il più flessibile per la visualizzazione di immagini su ssh perché è possibile controllare l'aspetto del display.


Sembra che il repository non sia attivo, ma ciò può essere realizzato anche con il web server integrato python -m SimpleHTTPServer. Inoltre, se il tuo computer e server locale si trovano su una VPN, non è necessario inoltrare SSH.
crizCraig

Con Python 3: python -m http.server. Servirà tutti i file nella cartella corrente.
fabian789,

2

tiv (o strumenti simili) dovrebbe fare nella maggior parte dei casi. Ciò non richiede emulatori di terminali speciali poiché stampa solo codici ANSI RGB.

inserisci qui la descrizione dell'immagine

Supporta anche caratteri jolly.


1

In generale, è possibile trasferire i dati multimediali, ad esempio immagini, sul desktop locale o sul terminale ssh stesso se in grado di visualizzare supporti:

  • Inoltro XWindow: porta sul display qualsiasi applicazione desktop visualizzatore di immagini dall'host remoto
  • sftp: qualsiasi client sftp trasferisce i file multimediali sul desktop locale dove è possibile avviare un visualizzatore di immagini
  • filesystem ssh: un po 'come sftp, ma il filesystem remoto è perfettamente integrato localmente in modo che i visualizzatori di immagini locali possano avviarsi
  • O webbased: questo terminale (come molti altri) è esso stesso in grado di visualizzare dati di immagine (i dati di immagine sono "cat" ed!)

http://liftoffsoftware.com/Products/GateOne inserisci qui la descrizione dell'immagine


1

Su Linux è possibile reindirizzare l'output di ssh. Con l'aiuto di un visualizzatore di immagini in grado di leggere dall'input standard (vedi Esiste un visualizzatore di immagini che acquisisce immagini su STDIN? ) E Unix Pipe |, ottengo:

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

PS: questo richiede il programma di visualizzazione di ImageMagick sull'host locale. Il comando tra virgolette viene eseguito da ssh sull'host remoto. O per altri visualizzatori di immagini (qui Gnome eog visualizzatore di immagini):

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

0

Se hai il percorso delle immagini che puoi come ha detto Frank Thomas, puoi scaricarle e aprirle in un visualizzatore di immagini tramite scp o forse sftp se hai accesso. Se stai usando Linux, fai un wget sulle immagini, ma ovviamente non puoi aprirle in una shell, quindi scaricarle è l'opzione migliore se stai parlando puramente di shell.


Questo non funzionerebbe davvero solo perché a quel punto sarebbe più facile aprire un browser per vederli.
mrhobbeys,

Beh, dipende dalla configurazione, perché se i nomi delle immagini hanno un percorso e una convenzione di denominazione simili, potrebbero essere copiati e trasformati in cronjob.
MDMoore313,

0

Puoi anche usare sshfs, se sei sotto Linux.


o utilizzare WinSCP se su Windows.
Frank Thomas,

1
@FrankThomas: Beh, non era quello che avevo in mente. Con sshfste puoi semplicemente montare il file system remoto e si comporterà come se i file fossero sul tuo computer. Non è necessario scaricare nulla ...
Carlspring,

0

Uso thunar(un file manager, funziona anche con nautiluse probabilmente altri) per fare questo tipo di cose.

Se inserisci l'indirizzo:

sftp://user@ip:port/

Si collegherà tramite ssh(facoltativamente chiedendo una password / passphrase) e visualizzerà il filesystem visivamente, dove è possibile aprire le immagini con un visualizzatore (ad es. gpicviewO eog, ma eogin questo caso ho trovato essere lento).


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.