Command line SVG and image file viewer in Linux?
Is there any command line (pipe-able) graph viewer for SVG and JPG/PNG image files?
Especially that, the graph/image files are output thru pipe line, rather than plain files, so there must be option to specify the file type/extension.
Though gv works for PS/PDF generated by dot programs, I'd like to know whether there's alternatives for support SVG etc. image files.
Solution 1:
Have you tried the display
program that comes with ImageMagick?
Solution 2:
Inkscape already comes with its own viewer: inkview
It lacks features, it might be a bit slow, but it works (and probably renders SVG more accurately than ImageMagick's display
).
Solution 3:
I usually work with SVG as text files, so would like the viewer to automatically refresh the display as soon as the file got saved (and its contents got changed) - this should be applicable to 'pipable' situations, I think (i.e. with named pipes).
Note that, for default Gnome apps:
-
evince
currently works like this for PDFs, but seemingly it cannot read SVG (for me it generates "Unable to open document - Error opening file: Permission denied
" when I tried to load SVG files) -
eog
(Eye Of Gnome) - the latest versions - can also detect if a file changed on this, and then offer a 'Reload' button; but apparently, you'd still have to click on 'Reload' each time (I cannot see a way to cause automatic reload always on file change ineog
, likeevince
behaves with PDFs) - and also, at least on my Ubuntu 10.04,eog
SVG support is somewhat broken (zoom in results with blurry lines) - ImageMagick's
display
not only does not automatically refresh when the file changes on disk - and even when you press 'refresh' indisplay
, you still do not get the latest version of the file (meaning, you have to restartdisplay
to show the latest version :( ).
Here are some more notes I found so far:
-
Squiggle, the SVG Browser The SVG browser that is part of the Batik toolkit. - Download Batik batik-1.7.zip; unpack it; run
java -jar batik-squiggle.jar
and there it is; does not refresh the image automatically if the svg file changed on disk -
SVG Image Viewer? - Ubuntu Forums recommendations:
- In post #8 - "I wrote a little python script ... You just run it as: svg_compare.py and it opens up an svg and displays it using an svg library and using gtk's raster library. You can zoom with the mouse..."
-
xsvg
(from http://cairographics.org) - I installed libsvg1_0.1.4-1_i386.deb, libsvg-cairo1_0.1.6-5_i386.deb and xsvg_0.2.1-3_i386.deb in that order; those versions are from 2005, and soxsvg
is extremely simple - no zoom, nothing.. And needless to say, it does not react to saved file changes automatically...
- through that, I found
rsvg-view
, which I think is a part ofsudo apt-get install librsvg2-bin
. Its small, nice, supports stdin - however, alsorsvg-view
cannot detect a file change, and automatically refresh on it..
Yup - well, I hope this helps...
Cheers!
EDIT (Dec 24 '10): well, here is also my contribution: svg_refreshview.py - which is basically a rework of svg_compare.py
mentioned above, that simply shows an SVG file, and reloads the file and refreshes the display if the file has been modified. (it can't really work with stdin - but there are other scripts in my repo that parse stdin in python, maybe they'll help).
EDIT2 (May 20 '12): Also, came up with a Perl-Tk script example, which is very crude (no mouse interaction, no nothing), but uses ImageMagick Perl API, and so can render SVG (as bitmap on a canvas), please see answer #10670039 - ImageMagick API for command-line GUI application interface to display
- Stack Overflow.