it-swarm.dev

Jak vytvořím terminál, aby zobrazoval grafické obrázky?

Toto je rychlý model, který jsem zkopíroval a vložil dohromady. Představuji si, že je to super cool a užitečné.

Existuje něco takového již?

http://imgur.com/Z3DbS

159
Dennkster

Aktualizace 2018-12-31

Všude kolem úžasná emulátor terminálu emulátoru má icat příkaz k zobrazení obrázků (nefunguje v rámci tmux). Kitty také umožňuje náhledy obrázků v rámci Ranger (správce souborů terminálů), což je metoda, kterou v současné době používám nejčastěji (pracuje v rámci tmux).


1. w3m

Zatímco hlavní účel w3m slouží k prohlížení webových stránek v konzole, lze jej také použít k prohlížení obrázků v terminálu. Relevantní balíčky k instalaci jsou w3m a w3m-img (alespoň na Ubuntu). Poté je třeba externí prohlížeč obrázků zakázat předáním -o ext_image_viewer=0 nebo vstupem do nabídky možností ('o') uvnitř w3m a deaktivujte externí prohlížení obrázků.

Nyní zadejte w3m <image_name> zobrazí obrázek v terminálu. w3m použije celé okno terminálu, takže své předchozí příkazy neuvidíte, dokud neukončíte w3m (přemýšlejte less, nikoli cat). Všimněte si, že pokud je obraz velký, aby se vešel do okna terminálu, bude stále otevřen navenek (v imagemagick pro mě). Také si všimněte, že i když jsem četl více míst, která w3m vložené obrázky nebudou fungovat pro gnome-terminal, funguje mi to dobře. Je trochu otravné, že musíte nejprve zadat q, abyste nejprve zavřeli obraz a poté w3m.

2. Terminologie

tycat je součástí terminology a zobrazuje obrázky jako cat zobrazuje textové soubory a podobně imgcat funguje pro iTerm2 v OS X.

3. libsixel + mlterm/xterm

Nainstalujte libsixel-bin a jakýkoli kompatibilní terminál (příklady uvedené v 'Požadavky' tohoto readme , například mlterm nebo xterm kompilované se správnými vlajkami a můžete prohlížet obrázky pomocí img2sixel příkaz. Oba tyto balíčky jsou k dispozici v repozitáři Ubuntu.

4. FIM

Pak existuje FIM , což je vylepšená verze fbi. Domovská stránka uvádí, že dokáže zobrazovat obrázky nejen u framebufferu, ale také u X. Nainstaluje se však pro mě. Upravit Spustil jsem jej stažením verze kufru 0,5, spuštěním ./configure --disable-exif a poté dočasně odstraní anaconda (distribuce pythonu) z mé cesty, protože to způsobilo konflikt s libpng před spuštěním make a Sudo checkinstall (musíte číslo verze psát ručně pomocí checkinstall, ale usnadňuje je odebrání než make install). Obrázky se však stále zobrazují v samostatném okně, i když stejně jako u fbi nemusíte používat X, což je docela v pohodě.

5. jupyter-qtconsole

Také byste mohli být kreativní a použít jupyter-qtconsole jako vaši systémovou konzoli, nakonfigurovat ji tak, aby zobrazovala inline grafy (%matplotlib inline) a poté zobrazení obrázku pomocí matplotlib =)

6. feh

feh používá k zobrazení obrázků X, ale feh -x zobrazí je v okně bez okrajů, které lze rychle zavřít pomocí q nebo x. Přestože obrázky nejsou v terminálu zobrazeny, říkal jsem si, že stojí za zmínku, protože je to nejméně rušivý způsob, jaký jsem dosud našel a co používám, dokud gnome-terminal získá ekvivalent imgcat/tycat.

61
joelostblom

Možná caca je to, co chcete. Pro obrázky :

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

Ujistěte se, že vaše okno terminálu je dostatečně velké.

Zde je například způsob zobrazení tento obrázek v cacaview:

Screenshot

Někdy jsem to použil pro zábavu pro sledování videí jako ASCII v mplayeru :) Líbí se mi to:

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

Napsal jsem malý nástroj C++ pro převod obrázků na řídicí kódy ANSI RGB a grafické znaky Unicode pro moderní terminály podporující tyto funkce: https://github.com/stefanhaustein/TerminalImageViewer

Instalace:

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

Používání:

tiv <image(s)>

Upravit : Změněné odkazy/pokyny k hlavnímu úložišti; přidané použití.

Příklady:

TerminalImageViewer

47
Stefan Haustein

Udělal jsem velmi rychlou, jednoduchou jednořádkovou funkci Shell, která řeší původní otázku přesně podle požadavků v maketách. Snímky obrazovky níže jsou skutečné obrázky, nikoli makety.

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

Screenshot of using the lsix command

Předpoklady jsou minimální: xterm a ImageMagick (apt-get install xterm imagemagick). Váš xterm musí být v režimu vt340, který můžete buď nastavit v ~/.Xresources nebo z příkazového řádku (xterm -ti vt340).

Omezení: Na zobrazených obrázcích všechny se použije pouze 16 barev. To znamená, že obraz může vypadat lépe, když je prohlíží sám. (Viz. níže).

Screenshot showing 16 color limitation

[~ # ~] aktualizace [~ # ~]

I když moje výše uvedená odpověď je stále správná, vytvořil jsem ještě lepší Shell skript, který je schopen udělat 'ls' obrázků přímo do terminálu. Existují nejrůznější vylepšení, která jsem přidal, aby obrázky vypadaly lépe (více barev, správná orientace alfa, orientace JPEG, manipulace se spoustou obrázků, rozložení kompaktních dlaždic, ...). Je to stále poměrně malý program, ale domníval jsem se, že si ho lidé budou chtít přizpůsobit, takže jsem ho dal na github: https://github.com/hackerb9/lsix .

35
hackerb9

Nemůžete tak učinit v okně terminálu, ale můžete tak učinit v Linuxová konzole pomocí fbi. K tomu, aby to fungovalo, potřebujete framebuffer:

Sudo apt-get install fbi

Přejděte na konzolu Linux (pomocí Ctrl+Alt+F1) a zadejte fbi <filename>

Mělo by to zobrazovat váš obrázek.

32
Amith KK

Další alternativou je terminologie:

enter image description here https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg

Můžete jej nainstalovat na Ubuntu přidáním úložiště Enlightenment-git :

Sudo add-apt-repository ppa:Enlightenment-git/ppa
Sudo apt-get update && Sudo apt-get install terminology

Nebo v nedávných vydáních Ubuntu> = Vivid (15.04) může být vyvolán z oficiálních repozitářů.

Sudo apt-get install terminology

Chcete-li zobrazit obrázek, zadejte tycat IMAGENAME a pro zobrazení seznamu obrázků zadejte tyls -m.

21
Javier López

Ve skutečnosti existuje takový projekt s názvem TermKit , pokud si ho chcete vyzkoušet - podívejte se http://blog.easytech.com.ar/2011/05/21/playing- with-termkit-with-chrome / ale je to docela nedokončené (protože se zdá, že máte Mac, měli byste vyzkoušet verzi Mac, protože je to „původní“)

Takže ano, je to nápad, který stojí za prozkoumání - přechod mezi grafickým a textovým režimem však musí být rychlý, protože vždy nemusím prohlížet obrázky. Také - musí být plně kompatibilní s např. Vim ..

12
sakjur

Dalším nástrojem je catimg , který lze nainstalovat pomocí

Sudo apt-get install catimg

Ve skutečnosti obrázek nevypadá, ale promění jej v barevné znaky.

enter image description here

11
some user

To neexistuje; gnome-terminal je schopen pouze zobrazovat text, alespoň pokud vím.

Můžete však můžete zavolat prohlížeč obrázků z příkazového řádku, abyste viděli obrázky v konkrétní složce. Takže, když se podíváte na seznam všech obrázků ve formátu JPG v aktuální složce, přejdete z výše uvedeného maketa, můžete použít příkaz Eye of GNOME (výchozí prohlížeč obrázků Ubuntu) z příkazového řádku pro něco podobného:

eog *.jpg &

Okno, které se objeví, zobrazí najednou pouze jeden obrázek, ale můžete mezi nimi přepínat pomocí dodaných tlačítek se šipkami.

Napsal jsem pro to nástroj. Pojmenoval jsem svůj Zobrazit obrázek v terminálu (siit). Předpokládá, že máte 256 barevný terminál a podporu UTF8, a je napsán v Perlu.

Pustil jsem to do svého ~/bin. Předpokládá, že máte Image :: Magick, Termín :: Velikost, Getopt :: Dlouhý a Čas: HiRes, který by měl být k dispozici v repozitářích vašeho distro, nebo CPAN.

Mým záměrem bylo vtáhnout se do mého domu a rychle prohlížet obrázky bez spuštění zobrazení na X. Skriptové stupnice na vhodnou šířku/výšku pro terminál, ve kterém se nacházíte. Použil jsem znaky UTF8, abych efektivně zdvojnásobil vertikální rozlišení vašeho terminálu, což opravdu pomáhá přehlednost. YMMV.

kázky zde

zde zdrojový kód

8
Tom

Kromě Joelova odpověď , Ranger správce souborů terminálu s w3mimgdisplay rozšíření může zobrazovat obrázky v plné barvě a také podporuje "oldschool ASCII umělecké náhledy". Zde je způsob, jak to povolit. Toto nemusí být přesná věc hledáte, ale způsob, jak zobrazit náhled obrázků v terminálu.

enter image description here

6
afedersin

Zde je několik řešení v node.js (Pokyny k instalaci zde ).

  1. zkumavka 

  2. zobrazování

Chcete-li nainstalovat jeden, zadejte npm install -g <package_name> kde package_name je jedním z picture-tube nebo imaging.

3
Nemo