Terminalimin grafik resimlerini nasıl görüntüleyebilirim?


146

Bu, birlikte kopyaladığım ve yapıştırdığım hızlı bir maket. Bunun süper havalı ve kullanışlı olduğunu hayal ediyorum.

Böyle bir şey zaten var mı?

http://imgur.com/Z3DbS


5
Ben her zaman sadece kullanırım feh! Terminalde olmadığını biliyorum ama işini yapıyor.
dylnmc

Terminal grafikler için değil, sadece unicode karakterleri gösterebilir ve biraz renklendirme yapabilir. Alabileceğiniz en iyi ASCII sanatıdır.
Ben,

Terminali ne yazık ki sadece macOS olan itermplot içeren grafikler için kullanmayı seviyorum .
miku

Bu soru, Homebrew'teki küçük bira görüntüsüyle motive mi oluyor? Bu bir emoji.
Ekevoo

Mac'te görüntülemeye çalışan bir Ubuntu sunucusuysanız, bu işlem çok güzel çalışıyor: unix.stackexchange.com/a/457076/7000
Sridhar Sarnobat

Yanıtlar:


48

2018-12-31 Güncellemesi

Çevresindeki müthiş terminal emülatör kitinin etrafındaki icatgörüntüleri gösterme komutu var (tmux içerisinde çalışmıyor). Kitty ayrıca şu anda en sık kullandığım yöntem olan (tmux içinde çalışıyor) ranger'da (bir terminal dosya yöneticisi) görüntü önizlemelerini de mümkün kılıyor .


1. w3m

Ana amacı w3mkonsol içi web taraması sağlamak olsa da, görüntüleri terminalde görüntülemek için de kullanılabilir. Yüklenecek ilgili paketler w3mve w3m-img(en azından Ubuntu'da). Daha sonra -o ext_image_viewer=0içerideki seçenekler menüsüne ('o') girerek veya çıkarak harici resim görüntüleyiciyi kuruyup devre dışı bırakmanız w3mve harici resim izlemeyi devre dışı bırakmanız gerekir.

Şimdi yazarak w3m <image_name>görüntü terminalde gösterecektir. w3mÇıkmadan kadar önceki komutları göremiyorum böylece, tüm terminal penceresi kullanacak w3m(düşünmek lessdeğil cat). Görüntünün terminal penceresine sığacak kadar büyük olması durumunda, harici olarak açılmaya devam edeceğini unutmayın (benim için imagemick). Ayrıca, w3msatır içi görüntülerin işe yaramayacağı birden fazla yer okuduğum halde, benim için gnome-terminaliyi çalıştığını unutmayın. qÖnce görüntüyü ve ardından kapatmak için iki kez yazmanız biraz can sıkıcıdır w3m.

2. Terminoloji

tycatOS X'te iTerm2 için metin dosyaları görüntüler ve benzeri eserler terminologygibi catgörüntülerin bir parçasıdır ve görüntüler imgcat.

3. libsixel + mlterm / xterm

Kurulum libsixel-binve herhangi bir uyumlu terminal ( bu beniokudaki 'Gereksinimler' altında belirtilen örnekler , örneğin mltermveya xtermdoğru bayraklarla derlenmiş ve resimleri img2sixelkomutla görüntüleyebilirsiniz. Her ikisi de bu paketler Ubuntu depolarında bulunur.

4. FIM

Sonra geliştirilmiş bir versiyonu olan FIM var fbi. Ana sayfa görüntüleri yalnızca çerçeveyle değil, X ile de gösterebileceğini belirtir. Ancak, bu benim için yüklenmez. Düzenleme 0.5 trunk sürümünü indirerek çalıştırıyor, çalıştırıyor ./configure --disable-exifve sonra geçici olarak kaldırıyorum anaconda(python dağılımı) libpngçalıştırmadan önce ile çakışmaya neden oldu çünkü ( makeve sudo checkinstallsürüm numarasını elle yazmanız gerekir checkinstall, ancak bunu kolaylaştırır) kaldırmak için make install). Bununla birlikte, görüntüler yine de ayrı bir pencerede görüntüleniyor, ancak fbisizin gibi, X'in de biraz havalı olmasına gerek yok.

5. jupyter-qtconsole

Ayrıca, yaratıcı olabilir ve jupyter-qtconsole'u sistem konsolunuz olarak kullanabilir, çizimleri inline ( %matplotlib inline) gösterecek şekilde yapılandırabilir ve ardından matplotlib =) kullanarak görüntüyü görüntüleyebilirsiniz.

6. feh

fehgörüntüleri görüntülemek için X kullanıyor, ancak feh -xbunları qveya ile hızlı bir şekilde kapatılabilen kenarlıksız bir pencerede açıyor x. Görüntüleri diyelim başına terminalde gösterilmese de, ben az müdahaleci Şimdiye kadar bulduk yolu ve hangi kadar kullanıyorum çünkü kayda değer olduğunu düşündüm gnome-terminalbir alır imgcat/ tycateşdeğer.


sadece doğrudan (cacaview e.jpg) kullanmak daha iyi olurdu böylece w3m caca-utils'i kullanıyor
user1133275

65

Belki kaka istediğin şeydir. İçin görüntüler :

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

Terminal pencerenizin yeterince büyük olduğundan emin olun.

Örneğin, işte bu görüntünün nasıl gösterileceği cacaview:

Ekran görüntüsü

Bazen eğlenceyi mplayer'da ASCII olarak izlemek için kullandım :)

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

6
Çok yararlı - caca-utils komutunun satır içi satır içi görüntülerini göstermesi gereken bir komutturimg2txt
Wilf

7
Şu an sahada yeni bir oyuncu var: github.com/ichinaski/pxl --- Hızlı bir testte fotoğraflar cacaview'dan daha iyi görünüyor. (Yeni bir cevap eklemek istedim, ancak site bana izin vermedi (?))
user569825 10

" videoları ASCII olarak izle " Ama ... neden?
Derek,

4
"watch videos as ASCII" But... why? çünkü sen istiyorsun çünkü videoyu izlemeniz gerekiyor ve sahip olduğunuz tek şey terminal mi? Çünkü bir şeye ihtiyacınız yoksa başkalarının takip ettiği anlamına gelmez.
Marcin Orlowski

1
mpv(ile kullanıldığında --quiet) terminaldeki medyayı benzer kalitede görüntüleyen bir tct çıkışına sahiptir pxl.
dsstorefile1

38

Görüntüleri bu özellikleri destekleyen modern terminaller için ANSI RGB kontrol kodlarına ve Unicode blok grafik karakterlerine dönüştürmek için küçük bir C ++ aracı yazdım:  https://github.com/stefanhaustein/TerminalImageViewer

Kurulum:

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

Kullanımı:

tiv <image(s)>

Düzenleme : Ana havuza değiştirilmiş bağlantılar / talimatlar; kullanım eklendi.

Örnekler:

TerminalImageViewer


2
Bu çok hoş görünüyor! Ama Java mı yoksa C ++ mı?
Andrea Lazzarotto

3
Java kullanıyordu ama bu basit görev için bir JVM'ye olan ihtiyaç beni rahatsız etti, bu yüzden C ++ 'a taşıdım (ekran görüntüleri yine de java komutunu göstermeye devam ediyor)
Stefan Haustein,

4
Cacaview'dan çok daha iyi!
Piotr Dabkowski

1
Bu inanılmaz bir araçtır. Kesinlikle daha yavaş, ama kakadan çok daha iyi. "256 bit mod" kullanırken herhangi bir kalite kaybı var mı? (
mecbur

2
Çok iyi sonuçlar! Teşekkürler ! Hiçbir x sunucusu uygun olmadığında ssh ile çok faydalı!
Arnaud De Broissia

33

Özgün soruyu maketlerde istenen şekilde çözen çok hızlı ve basit bir satır kabuğu işlevi yaptım. Aşağıdaki ekran görüntülerinin örnekler değil gerçek görüntü olduğuna dikkat edin.

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

Lsix komutunu kullanmanın ekran görüntüsü

Önkoşullar minimumdur: xterm ve ImageMagick ( apt-get install xterm imagemagick). Xterm'iniz, vt340 modunda olmalıdır, bu komutlardan birini ~/.Xresourceskomut satırından ( xterm -ti vt340) alabilirsiniz.

Sınırlamalar: Gösterilen tüm resimler üzerinde sadece 16 renk kullanılmıştır . Bu, bir görüntünün kendi başına bakıldığında daha iyi görünebileceği anlamına gelir. (Aşağıya bakınız).

16 renk sınırlamasını gösteren ekran görüntüsü

GÜNCELLEME

Yukarıdaki cevabım hala doğru olsa da, doğrudan bir terminale 'ls' yapabilecek daha iyi bir kabuk betiği oluşturdum. Görüntülerin daha iyi görünmesini sağlamak için eklediğim birçok iyileştirme var (daha fazla renk, uygun alfa, JPEG yönü, çok sayıda görüntü işleme, kompakt döşeme düzeni, ...). Hala oldukça küçük bir programdır, ama insanlar bunu özelleştirmek isteyebileceğini düşündüm, bu yüzden üzerinde github o kadar koyduk: https://github.com/hackerb9/lsix .


30

Bunu bir terminal penceresinde yapamazsınız, ancak bunu kullanarak Linux konsolunda yapabilirsinizfbi . Bunun çalışmasına izin vermek için bir çerçeveye ihtiyacınız var:

sudo apt-get install fbi

Bir Linux konsoluna ( Ctrl+ Alt+ kullanarak F1) gidin vefbi <filename>

Resminizi göstermeli.


5
"Terminal" vs "tty" ile ne demek istiyorsunuz? Aynı şey değil mi? askubuntu.com/questions/506510/…
Wernight

6
Benim için işe yaramadı. Ancak "caca" aracı çalıştı. kullanarak "DejaVu Sans Mono-16", pixelsize = 16.67 file = / usr / share / fonts / truetype / dejavu / DejaVuSansMono.ttf ioctl VT_GETSTATE: cihaz için uygunsuz ioctl (bir linux konsol?)
Felipe

3
@Wernight Ctrl + Alt + F1 / F2 / F3, ubuntu altında bir puan verir (geri almak için Ctrl + Alt + F8).
joelostblom

1
Ayrıca geliştirilmiş bir versiyonu olan FIM vardır fbi. Ana sayfa görüntüleri yalnızca çerçeveyle değil, X ile de gösterebileceğini belirtir. Ancak, bu benim için yüklenmez.
joelostblom

1
İyi haberler iTerm2 v3 resimlere satır içi denetimi gösterebilir iterm2.com/images.html
AB

20

Başka bir alternatif terminoloji:

görüntü tanımını buraya girin https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg

Aydınlanma-git deposunu ekleyerek Ubuntu'ya yükleyebilirsiniz :

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

Veya son zamanlarda Ubuntu bültenlerinde> = Vivid (15.04) resmi depolardan alınabilir.

sudo apt-get install terminology

Bir resmi görüntülemek için yazın tycat IMAGENAMEve bir resim listesini görmek için yazın tyls -m.


5
tycatsatır içi bir görüntüyü tyls -mgörüntülemek ve bir dizinde orta büyüklükteki küçük resimleri görüntülemek için.
joelostblom

sudo add-apt-depo ppa: hannes-janetzek / aydınlanma-svn doesnt Çalışma
Gucho Ca

En son aydınlanma ppa'sına işaret etmek için cevabı güncelledim
Javier López

1
@chilicuil terminologyolan resmi Ubuntu depolarından , hiçbir PPA gerekli.
kedi

@cat orijinal cevap canlı yayınlanmadan önce yazılmıştı ve o zaman terminoloji mevcut değildi, aydınlanma ppa hala kesin / güvenilir paketlere ve daha fazla terminoloji versiyonuna sahipti. Bununla birlikte, belki de cevabı donmuş terminoloji versiyonlarından daha önce işaret edecek şekilde düzenlemek, son ubuntu sürümlerinde mevcut olacaktır.
Javier López

12

Orada böyle bir proje adında aslında TermKit bunu test etmek istiyorsanız, - kontrol http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/ ama oldukça var bitmemiş (Mac'iniz var gibi göründüğü için, "orijinal" olduğundan Mac sürümünü denemelisiniz)

Öyleyse evet, keşfetmeye değer bir fikir - yalnızca grafik ve salt metin modu arasındaki geçiş her zaman izlenen görüntülere ihtiyaç duymadığım için hızlı olmalı. Ayrıca - örneğin VIM ile tamamen uyumlu olması gerekiyor.


Bu projeyi Slashdot'ta daha önce bir kez okudum . Kulağa ilginç geliyor! Kullanmak için Google Chrome'a ​​ihtiyacınız olması çok kötü ... peki, tamam, başlamak için Chrome kullanıyorsanız fena değil, ama gereksiz bir bağımlılık gibi görünüyor.
Christopher Kyle Horton,

@ WarriorIng64 Evet, Qt'ın WebKit'i ile biraz uğraşırsanız işe yarayabilir - ama neyse ki chromium-browserdepolarda var, bu yüzden Chromelike'da bir şey yüklemek oldukça kolay - Bilgisayarımda TermKit'i gerçekten denemedim (w / Chromium yüklendi, ancak Fx'i ana olarak kullanıyorum) çünkü
Vim'e

8

Bu mevcut değil; gnome-terminalEn azından bildiğim kadarıyla sadece metni gösterme yeteneğine sahip.

Ancak, olabilir belirli bir klasörde resimlerinizi görmek için komut ile bir resim görüntüleyici diyoruz. Böylece, geçerli klasördeki tüm .jpg resimlerini listelemenizi gösteren yukarıdaki mockup'ınızdan çıkınca, benzer bir şey için Komut satırından GNOME'un Gözünü (Ubuntu'nun varsayılan resim görüntüleyicisi) kullanabilirsiniz:

eog *.jpg &

Açılan pencerenin bir seferde yalnızca bir görüntü göstereceğini, ancak aralarında gezinmek için verilen ok düğmelerini kullanabileceğinizi unutmayın.


1
eğer bir terminalden çalışıyorsanız, eog *.jpg & disownaksi takdirde terminal kapandığında EOG muhtemelen kapanacaktır. NB Keşke EOG hala Ubuntu'nun sahte resim görüntüleyicisi olsaydı - shotwell iyi, ancak 30GB + fotoğrafımı dizine almaya çalışıyor .... ve yine de yavaş ve sinir bozucu
Wilf

Önceki tüm cevaplar bu yazının yanlış olduğunu kanıtladı.
Arnaud De Broissia

7

Bunu yapmak için bir araç yazdım. Benim adımı Show Image In Terminal ( siit) olarak adlandırdım. 256 renkli bir terminale ve UTF8 desteğine sahip olduğunuzu ve perl ile yazıldığını varsayar.

Ben içine düşürdüm ~/bin. Tümünün dağıtım havuzunuzda veya CPAN'da bulunması gereken Image :: Magick, Term :: Size, Getopt :: Long ve Time: HiRes'e sahip olduğunu varsayar.

Niyetim evime ssh koymak ve X üzerinde bir ekran açmadan görüntüleri hızla izlemek. Script, içinde bulunduğunuz terminal için uygun genişliğe / yüksekliğe ölçeklenir. UTF8 karakterlerini gerçekte terminalin dikey çözünürlüğünü iki katına çıkarmak için kullandım. netliğe yardımcı olur. YMMV.

Burada örnek çekimler

Kaynak kodu burada


1
Bu "siit", "bok" değil (cidden ....)
Star OS

Başlangıçta termpeg deniyordu, ama hatırlamak çok zordu ve sekmeyi tamamlamadı. Ayrıca, "bu kod bir siit parçasıdır" mantıklı bile değil.
Tom,

2
Kaynak kodu bağlantısı benim için çalışmıyor, ancak internette bir sürüm buldum, işte bir ayna: gist.github.com/certik/4336299de10f400ee49943bd9f8a8ba6
Ondřej Čertík

Paketlenmiş bir sürüm sağlama şansınız var mı? Kütüphaneleri kurmak zorunda kaldığımda hep pes ediyorum.
Sridhar Sarnobat

6

Joel'in cevabına ek olarak , uzantılı Ranger terminal dosya yöneticisi w3mimgdisplaygörüntüleri tam renkli gösterebilir ve ayrıca "oldschool ASCII sanat önizlemelerini" destekler. İşte nasıl etkinleştirebilirsiniz. Bu tam olarak aradığınız şey olmayabilir, fakat görüntüleri terminalde önizlemenin bir yolu olabilir.

görüntü tanımını buraya girin


4

Başka bir araç catimg , ancak Ubuntu için hazır bir paket yok. Aslında görüntüyü görüntülemiyor, renkli karakterlere çeviriyor.

görüntü tanımını buraya girin


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.