Vraag Hoe maak ik van mijn terminal grafische afbeeldingen?


Dit is een snelle mockup die ik samen heb gekopieerd en geplakt. Ik kan me voorstellen dat dit super cool en nuttig is.

Bestaat zoiets al?

http://imgur.com/Z3DbS


111
2018-01-22 09:41


oorsprong


Ik gebruik altijd gewoon feh! Ik weet dat het niet in de terminal is, maar het is zijn taak. - dylnmc
Terminal is niet bedoeld voor grafische afbeeldingen, maar kan alleen unicode-tekens weergeven en kleuren. Het beste wat je kunt krijgen is ASCII-kunst. - Ben
Ik ben dol op het gebruik van de terminal voor afbeeldingen met itermplot, wat helaas alleen voor macOS is. - miku
Wordt deze vraag gemotiveerd door het kleine bierbeeld in Homebrew? Dat is een emoji. - Ekevoo
Ik wed dat iemand een Chrome-extensie kan schrijven die ssh gebruikt, maar een grafische bestandsbeheerder biedt in plaats van een op tekst gebaseerde. Ik zou het graag willen zien. Voorlopig komt alleen javascript + webdav in de buurt. - Sridhar-Sarnobat


antwoorden:


Kan zijn caca is wat je wilt. Voor afbeeldingen:

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

Zorg ervoor dat uw terminalvenster groot genoeg is.

Dit is bijvoorbeeld hoe deze afbeelding wordt weergegeven in cacaview:

Screenshot

Ik gebruikte het soms voor de lol bekijk video's als ASCII in mplayer :) Vind dit leuk:

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

50
2017-09-07 11:35



Zeer nuttig - een commando van caca-utils dat afbeeldingen inline in de terminal zou moeten weergeven img2txt - Wilf
Er is nu een nieuwe speler op het veld: github.com/ichinaski/pxl --- In een snelle test zien de foto's er beter uit dan in cacaview. (Ik wilde een nieuw antwoord toevoegen, maar de site liet het mij niet toe (?)) - user569825
"bekijk video's als ASCII" Maar waarom? - Derek 朕會功夫
dit opent een nieuw venster. OP vroeg om terminal. In plaats daarvan zou je img2txt moeten voorstellen, denk ik. - Blauhirn
Dat hangt van je omgeving af. In een niet-X-terminal wordt deze geopend zoals verwacht. In X is er waarschijnlijk ook een oplossing. Ik denk dat het kan afhangen van de gebruikte terminal of de afmetingen. - user569825


1. w3m

Hoewel het belangrijkste doel van w3m is in-console surfen op het web, het kan ook worden gebruikt om afbeeldingen in terminal te bekijken. De relevante pakketten om te installeren zijn w3m en w3m-img (op Ubuntu tenminste). Vervolgens moet u de externe afbeeldingsviewer uitschakelen door deze te passeren -o ext_image_viewer=0 of door binnenin het optiemenu ('o') te gaan w3m en uitschakelen externe afbeelding bekijken.

Nu typen w3m <image_name> zal de afbeelding weergeven in terminal. w3m gebruikt het volledige terminalvenster, zodat u uw vorige opdrachten pas kunt zien als u stopt w3m (denken less, niet cat). Merk op dat als het beeld te groot is om in het terminalvenster te passen, het nog steeds extern geopend zal worden (in imagemagick voor mij). Merk ook op dat hoewel ik meerdere plaatsen lees dat w3m inline afbeeldingen zouden niet werken gnome-terminal, het werkt prima voor mij. Het is een beetje vervelend dat je moet typen q tweemaal om eerst de afbeelding te sluiten en vervolgens w3m.

2. Terminologie

tycat is onderdeel van terminology en geeft afbeeldingen zoals weer cat geeft tekstbestanden weer en like imgcat werkt voor iTerm2 op OS X.

3. libsixel + mlterm / xterm

Installeren libsixel-bin en elke compatibele terminal (voorbeelden vermeld onder 'Vereisten' van dit leesmoment, bijvoorbeeld mlterm of xterm gecompileerd met de juiste vlaggen en je kunt afbeeldingen bekijken met de img2sixel opdracht. Beide pakketten zijn beschikbaar in de Ubuntu repos.

4. FIM

Dan is er FIM wat een verbeterde versie is van fbi. De startpagina geeft aan dat het afbeeldingen niet alleen met de framebuffer, maar ook met X kan weergeven. Het zal echter niet voor mij worden geïnstalleerd. Bewerk Ik heb het laten draaien door de 0,5-trunkversie te downloaden ./configure --disable-exif en dan tijdelijk verwijderen anaconda (python-verdeling) van mijn pad omdat het een conflict veroorzaakte met libpng voor het hardlopen make en sudo checkinstall (je moet handmatig een versienummer schrijven met checkinstall, maar het maakt het makkelijker om te verwijderen dan make install). Beelden worden echter nog steeds weergegeven in een apart venster, hoewel vergelijkbaar met fbi je hoeft X niet te draaien, dat is best cool.

5. jupyter-qtconsole

Je zou ook creatief kunnen worden en de jupyter-qtconsole als je systeemconsole kunnen gebruiken, het configureren om inline plots weer te geven (%matplotlib inline) en dan toon de afbeelding met matplotlib =)

6. feh

feh gebruikt X om afbeeldingen weer te geven, maar feh -xzet ze op in een randloos venster dat snel kan worden afgesloten met q of x. Hoewel de afbeeldingen niet per bericht in de terminal worden weergegeven, dacht ik dat het de moeite van het vermelden waard was, omdat het de minst indringende manier is die ik tot nu toe heb gevonden en wat ik gebruik tot gnome-terminal krijgt een imgcat/tycat gelijkwaardig.


30
2017-11-14 22:28



w3m gebruikt caca-utils, dus het is beter om het direct te gebruiken (cacaview e.jpg) - user1133275


U kunt dit niet doen in een terminalvenster, maar u kunt dit doen in a Linux-console gebruik makend van fbi. Je hebt een framebuffer nodig om dit te laten werken:

sudo apt-get install fbi

Ga naar een Linux-console (met Control-Alt-F1) en voer in fbi <filename>

Het zou je afbeelding moeten laten zien.


30
2018-01-22 10:12



Wat bedoel je met "terminal" versus "tty"? Zijn ze niet hetzelfde? askubuntu.com/questions/506510/... - Wernight
Werkte niet voor mij. Maar de "caca" -tool werkte. gebruikmakend van "DejaVu Sans Mono-16", pixelsize = 16.67 file = / usr / share / fonts / truetype / dejavu / DejaVuSansMono.ttf ioctl VT_GETSTATE: Ongepaste ioctl voor apparaat (niet een linux console?) - Felipe
@Wakeight Ctrl + Alt + F1 / F2 / F3 geeft je een tty onder ubuntu (Ctrl + Alt + F8 om terug te gaan). - Joel Ostblom
Er is ook FIM wat een verbeterde versie is van fbi. De startpagina geeft aan dat het afbeeldingen niet alleen met de framebuffer, maar ook met X kan weergeven. Het zal echter niet voor mij worden geïnstalleerd. - Joel Ostblom
Goed nieuws iTerm2 v3 kan afbeeldingen inline-controle tonen iterm2.com/images.html - A B


Ik heb een kleine C ++ -tool geschreven om afbeeldingen naar ANSI RGB-besturingscodes en Unicode-blokgrafiektekens te converteren voor moderne terminals die deze functies ondersteunen:https://github.com/stefanhaustein/TerminalImageViewer

Installatie:

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

Gebruik:

tiv <image(s)>

Bewerk: Gewijzigde links / instructies naar de hoofdrepository; toegevoegd gebruik.

Voorbeelden:

TerminalImageViewer


24
2018-04-08 23:06



Dit ziet er heel leuk uit! Maar is het Java of C ++? - Andrea Lazzarotto
Het was Java, maar de behoefte aan een JVM voor deze eenvoudige taak irriteerde me, dus ik heb het naar C ++ geport (de schermafbeeldingen tonen nog steeds het java-commando) - Stefan Haustein
Veel beter dan cacaview! - Piotr Dabkowski
Dit is een geweldige tool. Absoluut trager, maar veel beter dan Caca. Is er kwaliteitsverlies bij het gebruik van de "256-bits modus"? (aangezien ik moet, is de normale modus verknoeid) - Blauhirn
Zeer goede resultaten! Bedankt ! Zeer nuttig met ssh wanneer geen x-server beschikbaar is! - Arnaud De Broissia


Een ander alternatief is terminologie:

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

U kunt het op Ubuntu installeren door de verlichting-git repository:

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

Of in recente Ubuntu-releases> = Vivid (15.04) kan het worden opgehaald bij de officiële repositories.

sudo apt-get install terminology

Typ om een ​​afbeelding te bekijken tycat IMAGENAMEen typ om een ​​lijst met afbeeldingen te bekijken tyls -m.


18
2018-02-27 02:09



tycat om een ​​afbeelding inline en weer te geven tyls -m om middelgrote miniaturen in een map weer te geven. - Joel Ostblom
sudo add-apt-repository ppa: hannes-janetzek / verlichting-svn werkt niet - Gucho Ca
Ik heb het antwoord bijgewerkt om te wijzen op de meer recente verlichting ppa - Javier López
@chilicuil terminology is in de officiële Ubuntu-opslagplaatsen, geen PPA nodig. - cat
@cat het oorspronkelijke antwoord was geschreven voordat levendig werd vrijgegeven en op dat moment was de terminologie niet beschikbaar, de verlichting ppa heeft nog steeds nauwkeurige / betrouwbare pakketten en meer bijgewerkte terminologieversies. Maar misschien is het bewerken van het antwoord om aan te geven dat bevroren terminologieversies beschikbaar zijn in recente ubuntu-releases nuttig. - Javier López


Ik heb een zeer snelle, eenvoudige eenregelige shell-functie gemaakt, die de oorspronkelijke vraag exact oplost zoals gevraagd in de mockups. Merk op dat onderstaande screenshots echte afbeeldingen zijn, geen mockups.

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

Screenshot of using the lsix command

Vereisten zijn minimaal: xterm en ImageMagick (apt-get install xterm imagemagick). Je xterm moet in vt340-modus zijn, die je kunt instellen ~/.Xresources of vanaf de opdrachtregel (xterm -ti vt340).

Beperkingen: er worden slechts 16 kleuren gebruikt alle afbeeldingen getoond. Dat betekent dat een afbeelding er beter uitziet als het op zichzelf wordt bekeken. (Zie hieronder).

Screenshot showing 16 color limitation

BIJWERKEN

Hoewel mijn bovenstaande antwoord nog steeds klopt, heb ik een nog beter shellscript gemaakt dat in staat is om een ​​'ls' van afbeeldingen rechtstreeks in een terminal te doen. Er zijn allerlei verbeteringen die ik heb toegevoegd om de afbeeldingen er beter uit te laten zien (meer kleuren, juiste alpha, JPEG-oriëntatie, veel afbeeldingen verwerken, compacte tegellay-out, ...). Het is nog steeds een vrij klein programma, maar ik dacht dat mensen het misschien zouden willen aanpassen, dus ik heb het op github gezet: https://github.com/hackerb9/lsix.


18
2018-05-31 11:24





Er is eigenlijk zo'n project genoemd TermKit, als je het zou willen testen - check out http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/ maar het is vrij onafgemaakt (aangezien je een Mac lijkt te hebben, zou je de Mac-versie moeten proberen, omdat het "het origineel" is)

Dus ja, het is een goed idee om te ontdekken, echter: de omschakeling tussen de grafische modus en de modus Alleen tekst moet snel zijn, omdat ik de weergegeven afbeeldingen niet altijd nodig heb. Ook - het moet volledig compatibel zijn met b.v. Vim ..


12
2018-01-22 10:39



Ik heb eens eerder over dit project gelezen Slashdot. Klinkt intrigerend! Jammer dat je Google Chrome nodig hebt om het te gebruiken ... nou, het is niet zo erg als je Chrome gebruikt om te beginnen, maar het lijkt een onnodige afhankelijkheid. - Christopher Kyle Horton
@ WarriorIng64 Ja, ik zou het kunnen werken als je een beetje hackt met Qt's WebKit - maar gelukkig hebben we de chromium-browser in de repos, zodat het vrij eenvoudig is om iets Chromelike te installeren - ik heb TermKit niet echt op mijn computer geprobeerd (w / Chromium geïnstalleerd, maar met Fx als main) omdat ik behoorlijk afhankelijk ben van Vim, en niet echt kan gebruik een terminal die me mijn geliefde teksteditor niet zal geven;) - sakjur