Comment puis-je voir des photos via ssh

23

Je surveille un site Web et je veux savoir s'il existe un moyen de visualiser les images via ssh plutôt que de charger le site Web à chaque fois.

mrhobbeys
la source
vous avez donc un accès ssh au serveur et regardez le répertoire images?
Frank Thomas
Oui, j'ai configuré un scritp pour m'alerter lorsque quelque chose de nouveau est ajouté. Maintenant, je veux pouvoir le voir et le supprimer ou l'approuver via ssh.
mrhobbeys

Réponses:

32

Vous n'avez pas dit de quel système d'exploitation vous vous connectez. Si vous utilisez un * nix exécutant un serveur X, vous pouvez utiliser le transfert ssh X. Cela vous permettra d'exécuter des applications graphiques sur le serveur distant et de les afficher sur la machine locale. Par exemple:

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

En supposant que le serveur est eoginstallé, cela devrait entraîner l'ouverture et l'affichage de l'image sur votre écran.

Pour référence future, lorsque vous posez des questions sur ce site, c'est une bonne idée de spécifier le système que vous utilisez car la bonne réponse en dépendra souvent.

terdon
la source
Je suis sur Windows avec du mastic et du xming aujourd'hui, donc je vais essayer.
mrhobbeys
Cela fonctionne bien.
mrhobbeys
5

si vous êtes sous OS X, en utilisant iTerm2, vous pouvez faire imgcatet afficher l'image directement dans le terminal.

https://www.iterm2.com/documentation-images.htmlentrez la description de l'image ici

Dyno Fu
la source
Que faire si vous êtes sous osx avec iterm 2 et que vous avez utilisé sshpour accéder à une machine distante?
Andrew Hundt
1
Cela fonctionnera si vous avez le script imgcat sur le serveur.
Dyno Fu
2
imgcat, une image de chat ne serait-elle pas plus appropriée?
CousinCocaine
Le serveur doit-il être OS X? Que dois-je faire exactement si mon serveur est Ubuntu et mon client est Mac?
Sridhar Sarnobat
il n'y a aucune exigence sur le serveur. si vous êtes ssh du terminal, le serveur doit avoir imgcat. en gros, imgcat convertit l'image en quelque chose que iTerm2 peut comprendre.
Dyno Fu
3

C'est un point de douleur commun chez les chercheurs en vision par ordinateur. J'ai créé un petit script ( https://github.com/nicodjimenez/ImgView ) que j'utilise pour servir des images dans un répertoire sur une machine distante via python run.py -d path/to/image/dir/. Ensuite, j'utilise la tunnellisation ssh pour transférer un port local vers le port distant sur lequel j'exécute le serveur, puis je regarde les images sur ma machine locale en pointant mon navigateur Web vers mon port local, par défaut http: //0.0 .0.0: 8000 / . Cette approche est la plus flexible pour visualiser des images sur ssh car vous pouvez contrôler l'apparence de l'affichage.

nicodjimenez
la source
Il semble que le dépôt soit en panne, mais cela peut également être accompli avec le serveur Web intégré python -m SimpleHTTPServer. De plus, si votre machine locale et votre serveur sont sur un VPN, il n'est pas nécessaire de faire avancer ssh.
crizCraig
Avec python 3: python -m http.server. Servira tous les fichiers du dossier actuel.
fabian789
2

tiv (ou des outils similaires) devrait le faire dans la plupart des cas. Cela ne nécessite aucun émulateur de terminal spécial car il n'imprime que des codes RVB ANSI.

entrez la description de l'image ici

Prend également en charge les caractères génériques.

phil294
la source
1

En général, vous pouvez transférer les données multimédias, par exemple des images, vers votre bureau local ou le terminal ssh lui-même s'il est capable d'afficher des médias:

  • Transfert XWindow: apporte n'importe quelle application de visualisation d'images de bureau de l'hôte distant à votre écran
  • sftp: tout client sftp transfère le média sur votre bureau local où vous pouvez lancer une visionneuse d'images
  • système de fichiers ssh: un peu comme sftp, mais le système de fichiers distant est parfaitement intégré localement afin que les visionneuses d'images locales puissent se lancer
  • Ou basé sur le Web: ce terminal (comme beaucoup d'autres) est lui-même capable d'afficher des données d'image (les données d'image sont "cat" ed!)

http://liftoffsoftware.com/Products/GateOne entrez la description de l'image ici

SLN
la source
1

Sous Linux, vous pouvez rediriger la sortie ssh. Avec l'aide d'une visionneuse d'images capable de lire à partir de l'entrée standard (voir Existe - t-il une visionneuse d'images qui prend des images sur STDIN? ) Et du canal Unix |, j'obtiens:

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

PS: cela nécessite le programme d'affichage d'ImageMagick sur l'hôte local. La commande entre guillemets est exécutée par ssh sur l'hôte distant. Ou pour d'autres visionneuses d'images (ici la visionneuse d'images Gnome eog):

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

Si vous avez le chemin des images que vous pouvez, comme l'a dit Frank Thomas, vous pouvez les télécharger et les ouvrir dans une visionneuse d'images via scp ou peut-être sftp si vous y avez accès. Si vous utilisez Linux, faites un wget sur les images, mais bien sûr vous ne pouvez pas les ouvrir dans un shell, donc les télécharger est votre meilleure option si vous parlez purement shell.

MDMoore313
la source
Cela ne fonctionnerait pas vraiment bien seulement parce qu'à ce stade, il serait plus facile d'ouvrir un navigateur pour les voir.
mrhobbeys
Eh bien, cela dépend de la configuration, car si les noms d'image ont un chemin d'accès et une convention de dénomination similaires, alors ils pourraient être scriptés et transformés en cronjob.
MDMoore313
0

Vous pouvez également utiliser sshfs, si vous êtes sous Linux.

carlspring
la source
ou utilisez WinSCP sous Windows.
Frank Thomas
1
@FrankThomas: Eh bien, ce n'était pas ce que j'avais en tête. Avec, sshfsvous pouvez simplement monter le système de fichiers distant et il se comportera comme si les fichiers se trouvaient sur votre ordinateur. Pas besoin de télécharger quoi que ce soit ...
carlspring
0

J'utilise thunar(un gestionnaire de fichiers, fonctionne également avec nautiluset probablement d'autres) pour faire ce genre de choses.

Si vous entrez l'adresse:

sftp://user@ip:port/

Il se connectera via ssh(en demandant éventuellement un mot de passe / phrase de passe) et il affichera le système de fichiers visuellement, où vous pouvez ouvrir les images avec une visionneuse (par exemple. gpicviewOu eog, mais j'ai trouvé eoglent dans ce cas).

Paul
la source
0

Vous pouvez ajouter un stockage réseau dans votre explorateur de fichiers système:

Ajout d'un serveur

ZettaCircl
la source