LinuxのコマンドラインSVGと画像ファイルビューア?


36

SVGおよびJPG / PNG画像ファイル用のコマンドライン(パイプ対応)グラフビューアーはありますか?

特に、グラフ/イメージファイルはプレーンファイルではなくパイプラインを介して出力されるため、ファイルタイプ/拡張子を指定するオプションが必要です。

gvはドットプログラムによって生成されたPS / PDFで機能しますが、SVGなどの画像ファイルをサポートする代替手段があるかどうかを知りたいです。


1
ただ明確にするために:あなたの主なポイントは、コンソール(「コマンドライン」)に.svg、.jpg、および.pngを表示することではなく、そのようなMIMEタイプを通常のグラフィカルプログラムにパイプすることですか?
アキラ

1
はい、Xで表示したいと思います。gvと同じように。ただし、gvはSVGなどをサポートしません。
XièJìléi10年

gwenview非常に速い、あなたのニーズを満たしているのだろうか?
アクエリアスパワー

回答:


37

ImageMagickにdisplay付属のプログラムを試しましたか?


3
私の知る限り、ImagemagickだけではSVGファイルを表示できません。SVGをビットマップに変換するツールが必要です。Debianでは、sudo aptitude install librsvg2-bin「rsvg-convert」がまだインストールされていない場合に必要です。パッケージには、rsvg-view-3ズームよりも優れたズーム機能を持つビューアも含まれていますdisplay
ミツキン

2
@Mytskine:ImageMagick Documentationによると、InkscapeまたはRSVGが利用できない場合、独自の内部SVGレンダラーを使用します。
追って通知があるまで一時停止します。

1
私のシステムでは:inkscapeロードに時間がかかりますが、inkview高速ですがビューを変更できないように見えますか?display私にとってはうまくいく:-)
ヒュー・パーキンス

私はパイプ入力からinkviewの仕事を得ることができませんでしたが、ディスプレイはとにかく欲しいものを正確に行います:-) go run my_svg_generator.go | displaythxのように使用します。
JepZ

1
警告!!!!お急ぎの場合はディスプレイを使用しないでください!!! 500kbのsvgファイル(systemdブートの問題の分析)の場合、6GBの既に肥大化したRAMの4GB(要求された7GBのvirt.mem)を使用し、膨大な量(5GB表示のためだけにスワップに行きました):(、svg thoを視覚化する他のオプションのパフォーマンスについてはわかりません。gwenview非常に速いです
Aquarius Power

12

Inkscapeにはすでに独自のビューアが付属しています:inkview

機能が不足しているため、少し遅いかもしれませんが、動作します(おそらくImageMagickよりもSVGをより正確にレンダリングしますdisplay)。


inkviewUbuntu 10.04.3で試してみた(0.48 inkscapeからだと思います)、驚くほど速く起動したことに注意してください!(編集:ただし、小さな.svgs のみです。inkview /usr/share/inkscape/examples/*.svg*マニュアルページにあるように、いくつかの重いものもあります。それでも、GUIの起動高速です。)@DenilsonSáさん、ありがとう!
sdaau

1
本当に大きなSVGの場合、inkviewは壊れているように見えます。
CMCDragonkai

10

「パイプ可能」とはどういう意味ですか?
fehたくさんのオプションがある非常に優れたコマンドラインビューアです。


1
つまり、stdinからの入力を受け入れ、可能であればMIMEタイプを推測します。または、ファイルタイプをヒューリスティックに推測できない場合は、拡張子を明示的に指定します。
謝Jìléi

11
fehSVGをまったくサポートしていないようです。「feh WARNING: pySVGLogo.svg - No Imlib2 loader for that file format」を取得します...乾杯!
sdaau

1
いくつかのメモ:最初に、feh ホームページスクリーンショット。2番目(ubuntu 10.04.3):非常に高速に起動します。Debian / Ubuntuパッケージがあります。マウスの操作が少し変です(feh --help最後を参照)。pngsのディレクトリをロードし、キーを押し続けるか、(矢印キー)を押すと、アニメーション.gifのように(またはそれ以上に)速くロードされます:)...乾杯!
sdaau

1
@ sdaau、fehは確かにSVGをサポートしていないため、OPに対する有用な回答ではありません。
ディランサーストン

8

私は通常SVGをテキストファイルとして使用するため、ファイルが保存される(およびその内容が変更される)とすぐにビューアーが自動的に表示を更新するようにしたいと思います。パイプ)。

デフォルトのGnomeアプリの場合:

  • evince現在、PDFではこのように機能しますが、SVGを読み取ることができないようです(私にとっては、Unable to open document - Error opening file: Permission deniedSVGファイルをロードしようとすると「」が生成されます)
  • eog(Eye Of Gnome)-最新バージョン-これでファイルが変更されたかどうかを検出し、「再読み込み」ボタンを提供することもできます。しかし、明らかに、毎回「リロード」をクリックする必要があります(PDFでの動作のeogように、ファイルの変更時に常に自動リロードを行う方法がわかりませんevince)-また、少なくとも私のUbuntu 10.04では、eogSVGサポート多少壊れています(線がぼやけて結果が拡大します)
  • ImageMagick displayは、ディスク上のファイルが変更されたときに自動的に更新されないだけでなく、で 'refresh'を押しても、最新バージョンのファイルを取得できdisplayませ(つまり、display最新バージョンを表示するには再起動する必要があります:() 。

ここに、私がこれまでに見つけたメモをいくつか示します。

  • Squiggle、SVGブラウザ Batikツールキットの一部であるSVGブラウザ。- ダウンロードバティック batik-1.7.zip。開梱してください。実行java -jar batik-squiggle.jarしてそこにあります。svgファイルがディスク上で変更された場合、画像を自動的に更新しません
  • SVG Image Viewer?-Ubuntuフォーラムの推奨事項:
    • 投稿#8-小さなpythonスクリプトを書きました... svg_compare.pyとして実行すると、svgが開き、svgライブラリとgtkのラスターライブラリを使用して表示されます。マウスでズームできます。 ..
    • xsvghttp://cairographics.orgから)-libsvg1_0.1.4-1_i386.deblibsvg-cairo1_0.1.6-5_i386.deb、およびxsvg_0.2.1-3_i386.debをこの順序でインストールしました。これらのバージョンは2005年のものであるためxsvg、非常にシンプルです-ズームなし、何もありません。そして、言うまでもなく、保存されたファイルの変更に自動的に反応しません...
  • それを通して、私は見つけたrsvg-view、それはの一部だと思うsudo apt-get install librsvg2-bin。小さくてすてきな、stdinをサポートしてrsvg-viewいますが、ファイルの変更を検出できず、自動的に更新されます。

うん-ええ、これが役立つことを願っています...
乾杯!

 

編集(10年12月24日):さて、ここに私の貢献もあります:svg_refreshview.py-これは基本的にsvg_compare.py上記の手直しで、単にSVGファイルを表示し、ファイルが変更されている場合はファイルを再ロードして表示を更新します。(それは実際には標準入力では動作しません-しかし、私のリポジトリにはPythonで標準入力を解析する他のスクリプトがあります、多分彼らは助けるでしょう)。

EDIT2(12年5月20日):また、非常に粗雑な(マウス操作なし、何もない)Perl-Tkスクリプトの例がありましたが、ImageMagick Perl APIを使用しているため、SVGを(キャンバス上のビットマップとして)レンダリングできます)、を参照してくださいにコマンドラインGUIアプリケーションインタフェースのためのImageMagick API -回答#10670039 displayスタックオーバーフローを-


それはそう時折、私はパッチを適用していますReloadのものeogJUST YESTERDAYを!私もそのボタンが嫌いです!
謝Jìléi

そして、あなたは別の真実を伝える、displayから来てImageMagick、それが表示それを前に、グラフをラスタライズするので、うまくSVGを拡張しません。そしてさらに悪いことに、displayそしてrsvg私のSVGファイルの一部では動作しません。今まで、FireFoxのみが正しくレンダリングされます。FireFoxはすべてを打ち負かします。
謝Jìléi

こんにちは@谢继雷、コメントありがとう!さて、投稿を編集し、Pythonスクリプトへのリンクを追加したところです。試してみてください。また、「ボタンが嫌い」の+1 :) [ただし、私は認めなければならない:手動で何かをするためのボタンを常に持っている-それを持たないよりも:) ...私はちょうど自動更新が欲しいextra :)]
sdaau

4

ImageMagick のDennis Williamsonの推奨を2回目にしdisplayます。

また、名前付きパイプを使用して、ファイルから読み取るプログラムにデータをパイプすることもできます。

例:

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

ただし、ファイル内を逆方向にシークできるようになっているプログラムでは動作しません。


名前付きパイプのこの使用法は非常に創造的です、ありがとう。試してみたところ、起動に時間がかかったことがわかりました。シンプルなビューアではなく、完全に機能するエディタです。
謝Jìléi

3

Geeqieビューアはsvgグラフィックを処理し、更新された画像を自動的にロードするようです。標準入力から画像を取得できるかどうかはわかりません。役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.