端末にグラフィック画像を表示するにはどうすればよいですか?


146

これは、コピーして貼り付けた簡単なモックアップです。これはとてもクールで便利だと思います。

このようなものはすでに存在しますか?

http://imgur.com/Z3DbS


5
いつも使うだけfeh!私はそれが端末にないことを知っていますが、それは仕事です。
dylnmc

ターミナルはグラフィック用ではありません。ユニコード文字のみを表示でき、色付けもできます。あなたが得ることができる最高のものはASCIIアートです。
ベン

私は、残念ながらmacOSのみであるitermplotでグラフィックス用のターミナルを使用するのが大好きです。
ミク

この質問はHomebrewの小さなビールのイメージに動機付けられていますか?それは絵文字です。
-Ekevoo

UbuntuサーバーでMacで表示しようとしている場合、これは美しく機能します:unix.stackexchange.com/a/457076/7000
Sridhar Sarnobat

回答:


48

更新2018-12-31

あらゆる周辺のターミナルエミュレーターキティには、icatイメージを表示するコマンドがあります(tmux内では機能しません)。Kittyは、レンジャー(ターミナルファイルマネージャー)内での画像プレビューも可能にします。これは、私が現在最も頻繁に使用している方法です(tmux内で動作します)。


1. w3m

主な目的はw3mコンソール内のWebブラウジングを提供することですが、ターミナルで画像を表示するためにも使用できます。インストールする関連パッケージはw3mand w3m-img(少なくともUbuntuの場合)です。その後、内部-o ext_image_viewer=0のオプションメニュー(「o」)をパスするか、その中に移動して外部画像ビューアーを無効にし、外部画像表示を無効にする必要がありますw3m

これで、入力w3m <image_name>すると端末に画像が表示されます。w3m端末ウィンドウ全体を使用するため、終了するまで以前のコマンドを見ることができませんw3mlessではなくcat)。ターミナルウィンドウに収まるように画像が大きすぎる場合は、外部で開かれます(imagemagickで)。また、w3mインライン画像が機能しない複数の場所を読んだとしても、私にとってはうまく機能していることに注意してgnome-terminalください。q最初にイメージを閉じてからを閉じるために2回入力する必要があるのは少し面倒ですw3m

2.用語

tycatは、テキストファイルの表示やOS X上のiTerm2の動作のようなterminology画像の一部です。catimgcat

3. libsixel + mlterm / xterm

インストールlibsixel-binおよび互換性のある端末(このreadmeの「要件」に記載されている例、mltermまたはxterm正しいフラグでコンパイルされたimg2sixelコマンドでイメージを表示できます。これらのパッケージはいずれもUbuntuリポジトリで入手できます。

4. FIM

次に、の改良版であるFIMがありfbiます。ホームページには、フレームバッファだけでなくXでも画像を表示できると書かれています。しかし、私にはインストールされません。編集は、私はそれは、0.5トランクバージョンをダウンロードして実行することによって実行してしまった./configure --disable-exif取り外し一時当時とanaconda、それはとの衝突を引き起こしたので、私の道から(Pythonディストリビューション)をlibpng実行する前に、makesudo checkinstall(あなたが使って手動でバージョン番号で記述する必要がcheckinstall、それはそれが容易になりますmake install)より削除します。ただし、画像は別のウィンドウに表示されますが、fbiXを実行する必要はありません。

5. jupyter-qtconsole

また、クリエイティブを取得し、システムコンソールとしてjupyter-qtconsoleを使用し、インラインでプロットを表示するように構成し(%matplotlib inline)、matplotlib =)を使用して画像を表示することもできます。

6.フェ

fehはXを使用して画像を表示していますが、またはfeh -xですばやく閉じることができるボーダーレスウィンドウにポップアップ表示します。端末ごとに画像が表示されるわけではありませんが、これは今まで見つけた中で最も邪魔にならない方法であり、使用するものが/ 同等になるまで言及する価値があると思いました。qxgnome-terminalimgcattycat


w3mはcaca-utilsを使用しているため、直接使用することをお勧めします(cacaview e.jpg)
user1133275

65

たぶんカカはあなたが欲しいものです。以下のための画像

sudo apt-get install caca-utils
cacaview /PATH/TO/image.jpg

端末ウィンドウが十分に大きいことを確認してください。

たとえば、この画像の表示方法はcacaview次のとおりです。

スクリーンショット

私は時々mplayerでASCIIとしてビデオ見るのを楽しみに使っていました:)このように:

mplayer -vo caca /PATH/TO/video.mpg

6
非常に役立つ-caca-utilsからコマンドをターミナルにインラインで表示する必要がありますimg2txt
Wilf 14

7
現在、フィールドに新しいプレーヤーがあります:github.com/ichinaski/pxl ---簡単なテストでは、写真はcacaviewよりも良く見えます。(新しい答えを追加したかったが、サイトは私を許可しなかった(?))
user569825

動画をASCIIで見る」でも...なぜですか?
デレク朕會功夫

4
"watch videos as ASCII" But... why? あなたがしたいので?あなたはビデオを覗く必要があり、あなたが手に入れた唯一のものはターミナルですか?あなたが何かを必要としないなら、他の人が続くことを意味しないからです。
マーチンオルロ

1
mpvには、(で使用した場合--quiet)端末と同等の品質でメディアを表示するtct出力がありますpxl
dsstorefile1

38

これらの機能をサポートする最新の端末用に、画像をANSI RGB制御コードとUnicodeブロックグラフィックス文字に変換する小さなC ++ツールを作成しました:https//github.com/stefanhaustein/TerminalImageViewer

インストール:

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

使用法:

tiv <image(s)>

編集:メインリポジトリへのリンク/指示を変更しました。使用法を追加しました。

例:

TerminalImageViewer


2
これはとてもいいですね!しかし、それはJavaまたはC ++ですか?
アンドレアラザロット

3
これは、Javaのように使用されるが、この単純な作業のためのJVMの必要性は私をうんざりので、私はC ++(スクリーンショットはまだかかわらず、javaコマンドを表示)に移植している
ステファンHaustein

4
カカビューよりも良い方法です!
ピョートルダブコフスキ

1
これは素晴らしいツールです。明らかに遅いが、カカよりずっと良い。「256ビットモード」を使用する場合、品質の低下はありますか?(私はしなければならないので、通常モードは台無しにされます)
-phil294

2
非常に良い結果!ありがとう!xサーバーが使用できない場合にsshで非常に便利です!
アルノードブロワシア

33

モックアップで要求されたとおりに元の質問を正確に解決する、非常に迅速でシンプルな1行のシェル関数を作成しました。以下のスクリーンショットは実際の画像であり、モックアップではないことに注意してください。

function lsix() { montage -tile 7x1 -label %f -background black -fill white "$@" gif:- | convert - -colors 16 sixel:-; }

lsixコマンドの使用のスクリーンショット

前提条件は最小限です:xtermおよびImageMagick(apt-get install xterm imagemagick)。xtermはvt340モードである必要があります。このモードは~/.Xresources、コマンドライン(xterm -ti vt340)で設定するか、コマンドラインから設定できます。

制限:表示されるすべての画像で16色のみが使用されます。つまり、画像を単独で見ると見た目が良くなる場合があります。(下記参照)。

16色の制限を示すスクリーンショット

更新

上記の答えはまだ正しいですが、画像の「ls」を直接端末に実行できるさらに優れたシェルスクリプトを作成しました。画像の見栄えを良くするために追加したあらゆる種類の改善があります(より多くの色、適切なアルファ、JPEGの向き、多くの画像の処理、コンパクトなタイルレイアウトなど)。それはまだかなり小さなプログラムですが、人々がそれをカスタマイズしたいと思うかもしれないと思ったので、github:https : //github.com/hackerb9/lsixに載せました。


30

端末ウィンドウではできませんが、Linuxコンソールではを使用してできますfbi。これを機能させるにはフレームバッファが必要です。

sudo apt-get install fbi

Linuxコンソールに移動し(Ctrl+ Alt+ を使用F1)、入力しますfbi <filename>

画像が表示されるはずです。


5
「端末」と「tty」とはどういう意味ですか?彼らは同じものではありませんか?askubuntu.com/questions/506510/...
Wernight

6
私のために働かなかった。しかし、「カカ」ツールは機能しました。使用した"そしてDejaVuサンセリフモノ-16"、ピクセルサイズ= 16.67ファイル=は/ usr /共有/フォント/ TrueTypeフォント/そしてDejaVu / DejaVuSansMono.ttfのIOCTLのVT_GETSTATE:デバイス用の不適切IOCTL(ないLinuxコンソール?)
フェリペ

3
@Wernight Ctrl + Alt + F1 / F2 / F3は、ubuntuでttyを提供します(戻るにはCtrl + Alt + F8)。
joelostblom

1
の改良版であるFIMもありfbiます。ホームページには、フレームバッファだけでなくXでも画像を表示できると書かれています。しかし、私にはインストールされません。
joelostblom

1
グッドニュースiTerm2 v3は、画像をインライン表示チェックできiterm2.com/images.htmlを
AB

20

別の選択肢は用語です:

ここに画像の説明を入力してください https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg

enlightenment-gitリポジトリを追加することでUbuntuにインストールできます:

sudo add-apt-repository ppa:enlightenment-git/ppa
sudo apt-get update && sudo apt-get install terminology

または、最近のUbuntuリリース> = Vivid(15.04)では、公式リポジトリから取得できます。

sudo apt-get install terminology

画像を表示するには、と入力しtycat IMAGENAME、画像のリストを表示するには、と入力しtyls -mます。


5
tycat画像をインラインでtyls -m表示し、ディレクトリに中サイズのサムネイルを表示します。
joelostblom

sudo add-apt-repository ppa:hannes-janetzek / enlightenment-svn が機能しない
Ca

私は、より最近の啓発PPAに指摘するの答えを更新しました
ハビエル・ロペス

1
@chilicuil terminology公式のUbuntuリポジトリにあり、PPAは不要です。

@catは、vividがリリースされる前に元の回答が書かれていたため、用語集が利用できなかったため、啓発PPAには正確な/信頼できるパッケージと最新の用語集バージョンがまだあります。ただし、最近のubuntuリリースで凍結された用語バージョンが利用可能であることを指摘するために回答を編集することは役立つでしょう。
ハビエルロペス

12

そこようなプロジェクトという名前の実際のですTermKitは、あなたがそれをテストしたい場合、 -チェックアウトhttp://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/を、それはかなりです未完成(Macがあるように見えるので、「オリジナル」なのでMacバージョンを試してみてください)

ええ、それは探求する価値のあるアイデアですが、画像を表示する必要は必ずしもないので、グラフィカルモードとテキストのみのモードをすばやく切り替える必要があります。また、Vimなどと完全に互換性がある必要があります。


Slashdotでこのプロジェクトについて一度読んだことがあります。興味深いですね!残念ながら、Google Chromeを使用する必要があります...まあ、さて、Chromeを最初から使用してもそれほど悪くはありませんが、不要な依存関係のようです。
クリストファーカイルホートン

@ WarriorIng64ええ、QtのWebKitで少しハックすればうまくいくかもしれませんが、幸いにもchromium-browserリポジトリにあるので、Chromelikeのようなものをインストールするのは非常に簡単です-私は実際にTermKitをコンピュータに試していません(w / Chromiumインストールされていますが、メインとしてFxを使用しています)私はVimに大きく依存しており、私の大好きなテキストエディタを提供してくれない端末を実際に使用できないためです;)
sakjur

8

これは存在しません。gnome-terminal少なくとも私の知る限り、テキストを表示することしかできません。

しかし、あなたがすることができ、特定のフォルダにあなたの写真を見てコマンドラインからの画像ビューアを呼び出します。そのため、上記のモックアップから離れて、現在のフォルダー内のすべての.jpg画像を一覧表示すると、コマンドラインからEye of GNOME(Ubuntuのデフォルトの画像ビューアー)を使用して同様のことができます:

eog *.jpg &

表示されるウィンドウには、一度に1つの画像しか表示されないことに注意してください。ただし、提供されている矢印ボタンを使用して、画像を切り替えることができます。


1
端末から実行するeog *.jpg & disown場合は、端末が閉じたときにEOGが終了する可能性があるため、より適切です。shotwellは良いですが、インデックスに写真の私の30ギガバイトの+をしよう....とにかく遅いと迷惑です-私はEOGはまだUbuntuのdefualtの画像ビューアたことを望むNB
Wilf

以前の回答はすべて、この投稿が間違っていることを証明しています。
Arnaud De Broissia

7

これを行うツールを作成しました。ターミナルに名前を表示しsiitます()。256色の端末とUTF8のサポートがあり、perlで書かれていることを前提としています。

私はそれを私の部屋に落とした~/bin。Image :: Magick、Term :: Size、Getopt :: Long、およびTime:HiResが存在することを前提としています。これらはすべて、ディストリビューションのリポジトリまたはCPANで利用できるはずです。

私の目的は私の家にsshし、Xでディスプレイを起動せずに画像をすばやく表示することでした。スクリプトは、使用している端末の適切な幅/高さにスケーリングします。UTF8文字を使用して、わかりやすくします。YMMV。

サンプルショットはこちら

ソースコードはこちら


1
「たわごと」ではなく「たわごと」です(真剣に…)
スターOS

もともとtermpegと呼ばれていましたが、覚えるのが難しすぎてタブ補完がうまくいきませんでした。それに、「このコードは一片です」というのは意味がありません。
トム

2
ソースコードのリンクは私のために動作しませんが、私はここでは、インターネット上でバージョンを発見したミラーです:gist.github.com/certik/4336299de10f400ee49943bd9f8a8ba6
オンドレジ・セティク

バンドル版を提供できる可能性はありますか?ライブラリをインストールする必要がある場合、私は常にあきらめます。
Sridhar Sarnobat

6

加えて、ジョエルの答えレンジャーを備えた端末のファイルマネージャw3mimgdisplayの拡張子は、フルカラーの画像を表示し、また「オールドスクールASCIIアートのプレビュー」をサポートすることができます。ここでは、あなたがそれを有効にする方法です。これはあなたが探していた正確なものではないかもしれませんが、ターミナルで画像をプレビューする方法です。

ここに画像の説明を入力してください


4

別のツールはcatimgですが、Ubuntu用の準備ができたパッケージはありません。実際に画像を表示するのではなく、色付きの文字に変換します。

ここに画像の説明を入力してください


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