48 votes

Visualisateur de fichiers SVG et d'images en ligne de commande sous Linux ?

Existe-t-il un visualisateur de graphiques en ligne de commande pour les fichiers images SVG et JPG/PNG ?

En particulier, les fichiers graphiques/image sont sortis par le biais d'un tuyau, plutôt que par des fichiers simples, il doit donc y avoir une option pour spécifier le type/extension du fichier.

Bien que gv fonctionne pour les PS/PDF générés par les programmes dot, j'aimerais savoir s'il existe des alternatives pour supporter les fichiers images SVG etc.

49voto

Damian Powell Points 315

Avez-vous essayé le display qui est fourni avec le programme ImageMagick ?

22voto

Denilson Sá Maia Points 11713

Inkscape est déjà accompagné de son propre visualiseur : inkview

Il manque de fonctionnalités, il est peut-être un peu lent, mais il fonctionne (et rend probablement le SVG plus précisément que le logiciel ImageMagick display ).

14voto

Diskilla Points 176

Je travaille habituellement avec des SVG sous forme de fichiers texte, et j'aimerais donc que le visualisateur rafraîchisse automatiquement l'affichage dès que le fichier est sauvegardé (et que son contenu est modifié) - cela devrait s'appliquer aux situations "pipables", je pense (c'est-à-dire avec des pipes nommés).

Notez que, pour les applications Gnome par défaut :

  • evince fonctionne actuellement comme cela pour les PDF, mais apparemment il ne peut pas lire les SVG (pour moi il génère " Unable to open document - Error opening file: Permission denied "lorsque j'ai essayé de charger des fichiers SVG)
  • eog (Eye Of Gnome) - les dernières versions - peut également détecter si un fichier a été modifié et proposer un bouton "Reload" ; mais apparemment, il faut toujours cliquer sur "Reload" à chaque fois (je ne vois pas comment provoquer un rechargement automatique en cas de modification d'un fichier dans eog comme evince se comporte avec les PDF) - et aussi, du moins sur mon Ubuntu 10.04, eog La prise en charge du SVG est quelque peu défaillante (le zoom donne des résultats avec des lignes floues)
  • La fonction display non seulement ne s'actualise pas automatiquement lorsque le fichier change sur le disque - et même lorsque vous appuyez sur la touche "refresh" dans la fenêtre display vous le faites toujours pas obtenir la dernière version du fichier (ce qui signifie que vous devez redémarrer display pour afficher la dernière version :( ).

Voici quelques notes supplémentaires que j'ai trouvées jusqu'à présent :

  • Squiggle, le navigateur SVG Le navigateur SVG qui fait partie de la boîte à outils Batik. - Télécharger Batik batik-1.7.zip ; décompressez-le ; exécutez java -jar batik-squiggle.jar et voilà ; ne rafraîchit pas l'image automatiquement si le fichier svg a changé sur le disque
  • SVG Image Viewer ? - Forums Ubuntu recommandations :
    • En poste #8 - " J'ai écrit un petit script Python script ... Il suffit de l'exécuter sous la forme : svg_compare.py et il ouvre un svg et l'affiche en utilisant une bibliothèque svg et en utilisant la bibliothèque raster de gtk. Vous pouvez zoomer avec la souris... "
    • xsvg (à partir de http://cairographics.org ) - J'ai installé libsvg1_0.1.4-1_i386.deb , libsvg-cairo1_0.1.6-5_i386.deb y xsvg_0.2.1-3_i386.deb dans cet ordre ; ces versions datent de 2005, et donc xsvg est extrêmement simple - pas de zoom, rien. Et inutile de préciser qu'il ne réagit pas automatiquement aux modifications des fichiers enregistrés...
  • par ce biais, j'ai trouvé rsvg-view qui, je pense, fait partie de la sudo apt-get install librsvg2-bin . Il est petit, agréable, supporte stdin - cependant, il est aussi rsvg-view ne peut pas détecter un changement de fichier et l'actualiser automatiquement .

J'espère que cela vous aidera...
Santé !

EDIT (24 déc. '10) : voici également ma contribution : svg_refreshview.py - qui est essentiellement un remaniement de svg_compare.py mentionnée ci-dessus, qui affiche simplement un fichier SVG, recharge le fichier et rafraîchit l'affichage si le fichier a été modifié. ( il ne peut pas vraiment fonctionner avec stdin - mais il y a d'autres scripts dans mon repo qui analysent stdin en Python, peut-être qu'ils aideront ).

EDIT2 (20 mai 12) : J'ai aussi trouvé un exemple de script en Perl-Tk, qui est très rudimentaire ( pas d'interaction avec la souris, rien ), mais utilise l'API Perl ImageMagick, et peut donc rendre SVG (comme bitmap sur un canevas), voir answer #10670039 - ImageMagick API for command-line GUI application interface to display - Stack Overflow (en anglais) .

11voto

Ivan Petrushev Points 1679

Qu'entendez-vous par "canalisable" ?
feh est une très bonne visionneuse en ligne de commande avec des tonnes d'options.

5voto

Nicholas Points 435

Je soutiens les propos de Dennis Williamson recommandation d'ImageMagick display .

De plus, vous pouvez parfois utiliser tuyaux nommés pour transmettre des données à des programmes qui lisent à partir d'un fichier.

E

mkfifo /tmp/foo.svg
cat /usr/share/inkscape/clipart/tux.svg > /tmp/foo.svg & inkscape /tmp/foo.svg
rm -f /tmp/foo.svg

Mais cela ne fonctionnera pas avec les programmes qui veulent pouvoir chercher en arrière dans le fichier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X