Quel est le moyen le plus rapide de visualiser des images depuis le terminal?

241

Le terminal est un moyen très rapide et pratique d’accéder rapidement aux répertoires et aux fichiers (plus rapidement que de rechercher et de cliquer sur le répertoire).

Une chose qu'il ne peut pas montrer en mode texte est "images".

Quel est le meilleur moyen de visualiser des images (comme si vous voyez une image miniature dans Nautilus) lorsque vous travaillez dans le terminal (par exemple, une commande nautilusou un programme, mais cela devrait être rapide et pratique)?

fronthem
la source
Je viens d'exécuter un émulateur de terminal sous l'environnement de mon bureau. Donc, vous avez les avantages des deux à portée de main.
vonbrand
Il faut s’opposer aux votes serrés ici car il existe une différence substantielle entre la nécessité de visualiser les fichiers d’images à partir d’ un terminal (vraisemblablement de l’interface graphique) (cette question) et la nécessité de les visualiser sur la console (l’autre question).
goldilocks
Je vous présente une liste de pratiquement toutes vos options dans cette
séance de
comment le faire depuis l'intérieur du terminal askubuntu.com/questions/97542/…
Ciro Santilli a rejoint le forum

Réponses:

225

Le moyen de "double-cliquer" sur un fichier à partir de la ligne de commande est xdg-open.

Si vous êtes sur Gnome (probablement, si vous utilisez Nautilus), vous pouvez utiliser eogdirectement ou n’importe quel autre programme d’image ( fehc’est très bon).

feh <image-name>      

Si vous voulez consulter le image-namefichier facilement.

Kevin
la source
1
fehfonctionne même avec plusieurs URL!
Serge Stroobandt
7
@ Searene Ouais! Longue vie à feh. Mais je remarque que fehn'a pas de zoom ou toute autre fonction que ce soit. eogCependant, il est également léger et, en outre, il peut zoomer , faire pivoter et parcourir les images d’un dossier :). Juste pour que les gens sachent avant de faire leur choix.
loved.by.Jesus
1
Bien que eogpré-installé dans mon OS Ubuntu, je préfère quand même fehcar il peut être fermé par qtout le temps eoget xdg-openpeut être fermé par esc.
Evan Hu
5
En fait, feha zoom, plein écran, défilement etc. regardez la page de
manuel
1
@pikachuchameleon, vous devrez configurer un environnement X11 et la transmission. Consultez ces instructions
Kevin
102

Si vous avez installé imagemagick , vous pouvez utiliser son très utile outil de ligne de commande d' affichage .

display path/to/picture.png
AlexBG
la source
3
Personnellement feh, je préfère , mais displayest généralement installé sur des serveurs Web, où fehaucun autre navigateur d’image n’est installé.
Pevik
4
L’affichage fonctionne très bien sur Ubuntu 16.04 LTS Desktop et également sur le stock Raspbian. Aucune installation requise. TNX de 2017
SDsolar
Génial, fonctionne même avec stream:curl https://example.com/image.jpg | display
Pavel
97

Je cours généralement à python -m SimpleHTTPServer 8080partir d'un dossier contenant l'image et la visualise depuis le navigateur localhost: 8080 / path / to / image.jpg. Fonctionne très bien pour parcourir et regarder différents fichiers image et texte dans ce même répertoire.

Edit: Cette méthode fonctionne également pour les boîtes distantes. Il suffit d’exécuter le serveur python comme ci-dessus et, si les ports sont ouverts, vous pouvez vous connecter à myserver.com:8080/path/to/image.jpg. Si le serveur n'expose pas les ports, vous pouvez configurer un tunnel ssh avec ssh [email protected] -N -L localhost:8080:localhost:8080, puis afficher les images à partir de votre navigateur local sur localhost: 8080 / path / to / image.jpg. Notez que cette interface http est beaucoup plus rapide que ssh -X.

RussellStewart
la source
12
Intelligent! Fonctionne comme un charme et il n'y a pas besoin de taper /path/to/image.jpg. Il suffit d'ouvrir localhost:8080et de cliquer sur les noms de fichiers.
Roger Dahl
1
Concernant le dernier paragraphe, vous pouvez également ajouter facilement des tunnels en utilisant la configuration de PuTTY! Ensuite, vous pouvez y accéder via un navigateur. Impressionnant!
ADTC
13
J'avais besoin python -m http.serverde Python 3
drstevok
x-www-browser /path/to/imageoufirefox /path/to/image
Gayan Weerakutti
astuce génial! exactement ce que je cherchais.
Neara
71

J'ai créé un outil qui utilise divers caractères graphiques en bloc Unicode pour améliorer la résolution (par rapport aux 2 pixels par caractère obtenus par d'autres solutions publiées ici). Il affiche également automatiquement les images en mode miniature si plusieurs images sont fournies en entrée.

Installation:

git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src/main/cpp
make
sudo make install

Usage:

tiv <image(s)>

Plus de détails sur le projet github: https://github.com/stefanhaustein/TerminalImageViewer

Exemple de capture d'écran:

Capture d'écran

Stefan Haustein
la source
5
Vous ne savez pas pourquoi le vote négatif, à cause de l'auto-promotion? Je pense cependant que c'est le meilleur outil pour le travail et la question est toujours d'actualité.
Stefan Haustein
Dommage que cela ne fonctionne pas avec apt install. Peut-être le temps de faire un ppa? En tout cas, ce paquet a fonctionné pour moi, alors qu'aucun des autres ne l’a fait (je les ai peut-être mal utilisés). J'avais besoin de pouvoir voir les images dans un terminal (par exemple, lorsque je suis dans un conteneur Docker) et de ne pas appeler un visualiseur d'images depuis un terminal. Merci pour votre réponse et je ne peux que vous remercier davantage pour la création de ce petit, mais précieux paquet!
Artur Barseghyan
Merci! Souhaitez-vous créer un FR pour un PPA sur le projet github? Peut-être que quelqu'un est heureux d'intervenir - au moins, on ne l'
oubliera
un cliché sera plus facile pour tout le monde: pas de ppa à configurer pour vous, pas de ppa à ajouter pour l'utilisateur -> snapcraft.io
Daniele Dellafiore
Bel outil @StefanHaustein! Je viens de créer un PR pour permettre aux utilisateurs de l'utiliser via Docker :-)
Bruno Pérel
28

Je suppose que feh serait celui que vous recherchez.

Bien que Mplayer affiche une fenêtre semblable à un terminal pour l'affichage d'images, Feh est toujours considéré comme une visionneuse d'images basée sur un terminal en raison de son style de contrôle gourmand en commandes.

Chenming Zhang
la source
20

Si vous utilisez OS X, iTerm 2 prend en charge l’affichage des images en ligne:

iTerm2 image en ligne

Comme vous pouvez l’imaginer, cela peut être très utile lorsque vous souhaitez simplement afficher une image sans ouvrir et ouvrir Preview.app ni ouvrir le Finder à l’image et taper sur la barre d’espace.

La fonctionnalité est documentée sur la page de fonctionnalités d'iTerm2

akshay
la source
C'est vraiment lent dans mon expérience.
Ilia Sidorenko
4
Fonctionne bien pour moi. Aucun problème avec lag. MBP / OSX 10.12.6
Heinrich Hartmann le
18

Si vous êtes en mode terminal avec le framebuffer activé, je vous recommanderais fbi . C'est toujours dans ma liste de tâches à réaliser après l'installation .

Autrement, eog est l’ouvreur d’images par défaut dans Gnome, comme l’a mentionné Kevin. En outre, Shotwell semble s'ouvrir assez rapidement pour moi ... Je suis sûr qu'il y en a des centaines. :-)

BorrajaX
la source
Merci pour celui-ci - c'est une nouvelle pour moi. De plus, googler me fait atterrir à la page de manuel de la page fim's(il s’agit d’un lecteur de framebuffer amélioré ) avec seulement quelques résultats de recherche. Ne sais pas encore la différence.
mikeserv
12

Surpris que l’ émulateur de terminologie ne fasse pas partie des réponses. Aussi facile que tylspuis en cliquant sur une image:

entrez la description de l'image ici

ou quelque chose comme tycat image.png, par exemple:

entrez la description de l'image ici

Et bien plus encore. Une vieille vidéo, il y a près de 3 ans, présentant Terminology 0.3: https://www.youtube.com/watch?v=ibPziLRGvkg#action=share .

Nikos Alexandris
la source
9

La bibliothèque imgdisplay de w3m est capable d'afficher des images directement. Cela ne fonctionne que sur certains émulateurs de terminaux tels que Xterm et URxvt.

Ranger est un navigateur de fichiers qui utilise la bibliothèque pour afficher des aperçus. Ajoutez ceci au fichier de configuration du ranger pour activer la fonctionnalité:

set preview_images true
Ambrevar
la source
6

En fait, il existe un moyen de montrer un fichier PNG dans un terminal en mode texte, en utilisant Picture-Tube:

capture d'écran

Vous pouvez regarder le projet sur GitHub .

L’image est bien sûr une approximation de l’image réelle, étant donné que le plus petit pixel est un caractère - essayez de regarder le résultat dans un éditeur de texte, vous verrez un très grand nombre de codes de couleur.

Vous pouvez installer l'outil comme ceci (en supposant que vous avez déjà installé node / npm): npm install -g picture-tube

serup
la source
6

Aucune dépendance, un fichier C, un fichier d'en-tête: imcat

Fonctionne sur linux, macos, windows. Échelle automatiquement à la largeur du terminal, avec un sous-échantillonnage de qualité.

entrez la description de l'image ici

Remarque: sérieusement? A voté à la baisse? La prochaine fois, peut-être expliquer en commentaire pourquoi.

Bram
la source
aucune idée pourquoi je ne trouve pas cela avec apt-get?
Sridhar Sarnobat le
5

Le fim est un autre excellent visualiseur d'images basé sur un terminal. Il s'agit d'un fbi amélioré doté d'un système de contrôle similaire à vim.

Chenming Zhang
la source
Bonne solution, mais n'a pas montré de moyen de le faire.
Goddard
J'ai essayé ça. Il ouvre une fenêtre X séparée sur SSH au cas où quelqu'un se le demanderait. Ce qui serait idéal pour moi, c’est un écran de terminal en ligne qui fonctionne sur SSH, mais je ne pense pas qu’il en existe un bon.
Sridhar Sarnobat le
4

C'est une question de 4 ans, mais j'ai constaté que les gens la regardaient encore. Donc, aujourd'hui, je voudrais répondre à ma propre question spécifiquement pour iTerm2.

À la première fois j'ai posé cette question. Le terme de "plus rapide", je pensais à voir l'image aussi vite que la catcommande d'affichage du texte. Donc, aujourd’hui, j’ai trouvé la réponse iTerm2: quels sont les deux commandes pratiques nom imgcatet imgls.

Pour les utiliser, le premier installons iterm2-nigthly:

$ brew cask install iterm2-nightly

puis visitez le site web:

https://github.com/olivere/iterm2-imagetools

et installer imgcatet imglscommandes:

$ go install github.com/olivere/iterm2-imagetools/cmd/imgcat
$ go install github.com/olivere/iterm2-imagetools/cmd/imgls

Donc, je les aime vraiment et j'espère aussi que cela vous sera utile!

fronthem
la source
C'est très utile, donc merci pour répondre à cette 4 ans plus tard. Fonctionne comme un charme, mais vous voudrez peut-être inclure l’installation go step ( brew install go) pour ceux qui ne l’ont pas encore.
jamescampbell
@jamescampbell, vous n'avez pas besoin d'installer go pour obtenir les scripts imgcat et imgls. Le développeur d'iTerm lui-même vous les fournit : iterm2.com/documentation-images.html , et ce sont des scripts bash.
Akshay
1
Quelle est l'option la plus proche de imgcatLinux? J'essaie de changer d'atm
rien333
4

Le terminal pour chat peut afficher à l'intérieur du terminal avec le "chaton" icat

Par exemple

kitty +kitten icat /path/to/image

Exemple:

entrez la description de l'image ici

La documentation du chat suggère de créer un alias, par exemple

alias icat="kitty +kitten icat"

Pour que vous puissiez simplement faire:

icat /path/to/image

frabjous
la source
3

Du terminal? Pourquoi pas dans le terminal: cacaview pourrait être le plus rapide. Par défaut, c'est le plus rapide si le terminal n'a pas de graphique.

Dans Debian: sudo apt-get install caca-utils

agc
la source
3

pxl est une option plutôt cool qui n’a pas encore été mentionnée. Semblable à picture-tube qui était précédemment posté en ce sens qu'il montre l'image directement dans le terminal bien qu'il prenne en charge plusieurs formats d'image.

Michael Mior
la source
3

Je viens d' utiliser le webrowser Chrome, qui soutient jpg, svg, png, ico, animation gif... en fait tout ce que je suis probablement besoin:

google-chrome ./myphoto.jpg

Si vous préférez Firefox:

firefox ./myphoto.jpg
utilisateur207863
la source
2

Sous Linux, vous pouvez installer gnome-open.

# In Debian flavors

sudo apt-get install gnome-open

Puis créez un alias:

alias open='gnome-open'

Ensuite vous pouvez:

open file.pdf
open file.jpg
etc
Tulains Córdova
la source
Cela a été installé par défaut dans mon installation Ubuntu.
starbeamrainbowlabs
1

Je viens de trouver cette page et elle est toujours d'actualité. OP n'a pas vraiment spécifié s'il veut visualiser X ou fb.

J'utilise un petit utilitaire appelé pho: http://www.shallowsky.com/software/pho/

A besoin de X, alors appelez depuis la ligne de commande dans une fenêtre de terminal. Vues de nombreux formats d'image, gif et jpg à coup sûr ... d'autres aussi.

Peut faire des jokers génériques à partir de la ligne de commande: par exemple. "$ pho img00 ??. jpg" affichera tous les fichiers qui correspondent dans l'ordre. L’espace avance dans la liste et l’arrière revient. Son chargement rapide des images individuelles - maintenez l'espace et vous survolez.

Très rapidement si vous voulez regarder à travers une série de photos, marquer celles qui vous intéressent, faire pivoter, supprimer les indésirables ... Je reviens sans cesse.

De la page Web ci-dessus:

pho (prononcé comme la première syllabe dans "photo") est un programme léger permettant de visualiser rapidement un grand nombre d'images, en faire pivoter ou en supprimer certaines, et de prendre des notes sur l'utilisation de chaque image, par exemple pour parcourir des centaines d'images. après les avoir téléchargés depuis un appareil photo numérique.

Mike
la source
1

Même si les réponses sont excellentes, mon problème était de visualiser les images dans le terminal lui-même, sans ouvrir aucune application graphique. J'ai donc écrit mon propre petit script. Je n'avais besoin que d'identifier l'image, je n'avais pas besoin de tous les détails et je ne voulais pas télécharger un paquet relativement volumineux. Si quelqu'un en avait besoin, il pouvait aussi l'utiliser: https://github.com/Deniz97/terminal-image- téléspectateur

Deniz Uluğ
la source
0

J'ai un alias de shell pour macOS appelé previewqui peut (1) afficher une image en ligne ( -iou une --inlineoption), à partir de stdin ou du (des) chemin (s) de fichier spécifié (s), et (2) ouvrir une image dans l' application Aperçu de Apple (sans option), ce dernier également de stdin ou de chemin de fichier, par exemple:

cat image.jpg | preview

preview -i image.png

L'affichage en ligne ne fonctionne qu'avec l' imgcatalias iTerm , vous devez donc installer et exécuter iTerm. Mais previewvérifie si tout cela est vrai.

En ligne ici: https://github.com/JayBrown/Tools/blob/master/Aliases/preview

JayB
la source
0

Le gestionnaire de fichiers Ranger permettant l’aperçu des images dans les paramètres. Gestionnaire de fichiers Ranger avec aperçu de l'image

Sébastien
la source
-2

Si vous utilisez GNOME, c’est aussi simple que de taper

$ gnome-open /path/to/photo

et il ouvre l'image à l'aide de la visionneuse d'images par défaut que vous avez sur votre ordinateur.

Mwalughabura
la source
3
Déjà posté il y a quelques mois: unix.stackexchange.com/a/248179/70524
muru
cette méthode sera très lente si vous avez plusieurs images dans le même dossier avec cette image.
Neouyghur