Je surveille un site Web et je veux savoir s’il est possible de voir les images via ssh plutôt que de charger le site Web à chaque fois.
Vous n'avez pas dit à partir de quel système d'exploitation vous vous connectez. Si vous utilisez un * nix exécutant un serveur X, vous pouvez utiliser le transfert X ssh. 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 a eog
installé, l’image devrait alors être ouverte et affichée à l’écran.
Pour toute référence future, lorsque vous posez des questions sur ce site, il est judicieux de spécifier le système que vous utilisez, car la réponse correcte en dépend souvent.
si vous utilisez OS X et utilisez iTerm2, vous pouvez créer imgcat
et afficher l'image directement dans le terminal.
Il s'agit d'un problème récurrent 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 un tunnel ssh pour transférer un port local sur le port distant sur lequel j’exécute le serveur, puis je visualise simplement les images sur mon ordinateur local en pointant mon navigateur Web sur mon port local, par défaut http://0.0.0.0:8000/ . Cette approche est la plus flexible pour afficher des images sur SSH, car vous pouvez contrôler l’aspect de l’affichage.
En général, vous pouvez transférer les données multimédia, par exemple images, sur votre bureau local ou sur le terminal ssh lui-même s'il est capable d'afficher des médias:
tiv (ou des outils similaires) devrait faire dans la plupart des cas. Cela ne nécessite aucun émulateur de terminal spécial, car il n'imprime que des codes ANSI RGB.
Prend également en charge les caractères génériques.
Sous Linux, vous pouvez rediriger la sortie ssh. Avec l'aide d'un visualiseur d'images capable de lire à partir de l'entrée standard (voir Existe-t-il un visualiseur d'images prenant des images sur STDIN? ) et le tuyau Unix? |
, je reçois:
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 visualiseurs d'images (ici visualiseur 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 aimer, 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 en avez accès. Si vous utilisez linux, alors faites un wget sur les images, mais bien sûr, vous ne pouvez pas les ouvrir dans un shell, alors les télécharger est votre meilleure option si vous parlez uniquement de Shell.
Vous pouvez ajouter un stockage réseau dans votre explorateur de fichiers système:
Vous pouvez également utiliser sshfs
, si vous êtes sous Linux.
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 secrète) et affichera le système de fichiers de manière visuelle, où vous pourrez ouvrir les images avec un visualiseur (par exemple, gpicview
ou eog
, mais j'ai trouvé eog
comme étant lent dans ce cas).