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.
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.
Réponses:
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 eog
installé, 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.
si vous êtes sous OS X, en utilisant iTerm2, vous pouvez faire imgcat
et afficher l'image directement dans le terminal.
ssh
pour accéder à une machine distante?
imgcat
, une image de chat ne serait-elle pas plus appropriée?
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.
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.
python -m http.server
. Servira tous les fichiers du dossier actuel.
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:
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";
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.
Vous pouvez également utiliser sshfs
, si vous êtes sous Linux.
sshfs
vous 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 ...
J'utilise thunar
(un gestionnaire de fichiers, fonctionne également avec nautilus
et 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. gpicview
Ou eog
, mais j'ai trouvé eog
lent dans ce cas).
Vous pouvez ajouter un stockage réseau dans votre explorateur de fichiers système: