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.
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.
Risposte:
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 eog
installato, 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.
se sei su OS X, usando iTerm2, puoi fare imgcat
e visualizzare l'immagine direttamente nel terminale.
ssh
entrato in una macchina remota?
imgcat
, l'immagine di un gatto non sarebbe più appropriata?
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.
python -m SimpleHTTPServer
. Inoltre, se il tuo computer e server locale si trovano su una VPN, non è necessario inoltrare SSH.
python -m http.server
. Servirà tutti i file nella cartella corrente.
In generale, è possibile trasferire i dati multimediali, ad esempio immagini, sul desktop locale o sul terminale ssh stesso se in grado di visualizzare supporti:
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";
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.
Puoi anche usare sshfs
, se sei sotto Linux.
sshfs
te puoi semplicemente montare il file system remoto e si comporterà come se i file fossero sul tuo computer. Non è necessario scaricare nulla ...
Uso thunar
(un file manager, funziona anche con nautilus
e 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. gpicview
O eog
, ma eog
in questo caso ho trovato essere lento).
È possibile aggiungere una memoria di rete in Esplora file di sistema: