Command line SVG and image file viewer in Linux?
Hire the world's top talent on demand or became one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------
Music by Eric Matyas
https://www.soundimage.org
Track title: Puzzle Game 5
--
Chapters
00:00 Command Line Svg And Image File Viewer In Linux?
00:34 Accepted Answer Score 52
00:44 Answer 2 Score 12
00:55 Answer 3 Score 6
01:19 Answer 4 Score 16
04:42 Thank you
--
Full question
https://superuser.com/questions/174522/c...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#linux #commandline #imageviewer
#avk47
ACCEPTED ANSWER
Score 52
Have you tried the display
program that comes with ImageMagick?
ANSWER 2
Score 16
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.
ANSWER 3
Score 12
What do you mean with 'pipe-able'?
feh
is very good commandline viewer with tons of options.
ANSWER 4
Score 6
I second Dennis Williamson's recommendation of ImageMagick display
.
Also, you can sometimes use named pipes to pipe data to programs which read from a file.
Example:
mkfifo /tmp/foo.svg
cat /usr/share/inkscape/clipart/tux.svg > /tmp/foo.svg & inkscape /tmp/foo.svg
rm -f /tmp/foo.svg
Won't work with programs which expect to be able to seek backward in the file, though.