Questo è un mockup veloce che copio e incollo insieme. Immagino che questo sia fantastico e utile.
Esiste già qualcosa del genere?
Questo è un mockup veloce che copio e incollo insieme. Immagino che questo sia fantastico e utile.
Esiste già qualcosa del genere?
Risposte:
Aggiornamento 2018-12-31
L'eccezionale gattino emulatore di terminale ha un icat
comando per visualizzare le immagini (non funziona all'interno di tmux). Kitty abilita anche le anteprime delle immagini all'interno di ranger (un gestore di file terminal), che è il metodo che attualmente uso più spesso (funziona con tmux).
Mentre lo scopo principale di w3m
è quello di fornire la navigazione web in-console, può anche essere usato per visualizzare le immagini nel terminale. I pacchetti rilevanti da installare sono w3m
e w3m-img
(almeno su Ubuntu). È quindi necessario disabilitare il visualizzatore di immagini esterne appassire passando -o ext_image_viewer=0
o andando nel menu delle opzioni ('o') all'interno w3m
e disabilitare la visualizzazione di immagini esterne.
Ora, digitando w3m <image_name>
verrà visualizzata l'immagine nel terminale. w3m
utilizzerà l'intera finestra del terminale, quindi non è possibile visualizzare i comandi precedenti fino alla chiusura w3m
(si pensi less
, non cat
). Se l'immagine è troppo grande per adattarsi alla finestra del terminale, verrà comunque aperta esternamente (in imagemagick per me). Inoltre, anche se leggo più luoghi per cui le w3m
immagini in linea non funzionano gnome-terminal
, funziona bene per me. È un po 'fastidioso che devi digitare q
due volte per chiudere prima l'immagine e poi w3m
.
tycat
fa parte di terminology
e visualizza immagini come cat
visualizza file di testo e simili imgcat
funziona per iTerm2 su OS X.
Installa libsixel-bin
e tutti i terminali compatibili (esempi citati in "Requisiti" di questo file Leggimi , ad esempio mlterm
o xterm
compilati con i flag giusti e puoi visualizzare le immagini con il img2sixel
comando. Entrambi questi pacchetti sono disponibili nei repository Ubuntu.
Poi c'è FIM che è una versione migliorata di fbi
. La homepage afferma che può visualizzare immagini non solo con il framebuffer, ma anche con X. Tuttavia, non verrà installato per me. Modifica L' ho fatto funzionare scaricando la versione 0.5 di trunk, eseguendo ./configure --disable-exif
e quindi rimuovendo temporaneamente anaconda
(distribuzione Python) dal mio percorso poiché ha causato un conflitto con libpng
prima di eseguire make
e sudo checkinstall
(è necessario scrivere un numero di versione manualmente con checkinstall
, ma rende più facile per rimuovere che make install
). Tuttavia, le immagini vengono comunque visualizzate in una finestra separata, anche se come con fbi
te non è necessario eseguire X, il che è abbastanza interessante.
Potresti anche essere creativo e utilizzare jupyter-qtconsole come console di sistema, configurarlo per mostrare grafici inline ( %matplotlib inline
) e quindi visualizzare l'immagine usando matplotlib =)
feh
sta usando X per visualizzare le immagini, ma le feh -x
fa apparire in una finestra senza bordi che può essere chiusa rapidamente con q
o x
. Anche se le immagini non sono visualizzate nel terminale per dire, ho pensato che valesse la pena menzionarlo poiché è il modo meno invadente che ho trovato finora e quello che sto usando fino a quando non gnome-terminal
diventa un imgcat
/ tycat
equivalente.
Forse caca è quello che vuoi. Per le immagini :
sudo apt-get install caca-utils
cacaview /PATH/TO/image.jpg
Assicurarsi che la finestra del terminale sia abbastanza grande.
Ad esempio, ecco come viene visualizzata questa immagine in cacaview
:
A volte l'ho usato per divertimento per guardare video in formato ASCII in mplayer :) In questo modo:
mplayer -vo caca /PATH/TO/video.mpg
img2txt
"watch videos as ASCII" But... why?
perché vuoi? perché devi guardare il video e l'unica cosa che hai è il terminale? Perché se non hai bisogno di qualcosa NON significa che altri lo seguano.
mpv
ha un output tct che (se usato con --quiet
) visualizza i media nel terminale con qualità comparabile a pxl
.
Ho scritto un piccolo strumento C ++ per convertire immagini in codici di controllo RGB ANSI e caratteri grafici a blocchi Unicode per terminali moderni che supportano queste funzionalità: https://github.com/stefanhaustein/TerminalImageViewer
Installazione:
git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src/main/cpp
make
sudo make install
Uso:
tiv <image(s)>
Modifica : collegamenti / istruzioni modificati al repository principale; uso aggiunto.
Esempi:
Ho realizzato una funzione shell a una riga molto veloce e semplice che risolve la domanda originale esattamente come richiesto nei modelli. Nota che le schermate seguenti sono immagini reali, non modelli.
function lsix() { montage -tile 7x1 -label %f -background black -fill white "$@" gif:- | convert - -colors 16 sixel:-; }
I prerequisiti sono minimi: xterm e ImageMagick ( apt-get install xterm imagemagick
). Il tuo xterm deve essere in modalità vt340, che puoi impostare ~/.Xresources
sia dalla riga di comando ( xterm -ti vt340
).
Limitazioni: vengono utilizzate solo 16 colori su tutte le immagini mostrate. Ciò significa che un'immagine potrebbe apparire migliore se vista da sola. (Vedi sotto).
AGGIORNARE
Mentre la mia risposta sopra è ancora corretta, ho creato uno script shell ancora migliore che è in grado di fare un 'ls' di immagini direttamente in un terminale. Ci sono molti miglioramenti che ho aggiunto per migliorare l'aspetto delle immagini (più colori, alfa corretta, orientamento JPEG, gestione di molte immagini, layout compatto delle piastrelle, ...). È ancora un programma abbastanza piccolo, ma ho pensato che le persone potrebbero voler personalizzarlo, quindi l'ho messo su github: https://github.com/hackerb9/lsix .
Non puoi farlo in una finestra terminale, ma puoi farlo in una console Linux usando fbi
. È necessario un framebuffer per consentire a questo di funzionare:
sudo apt-get install fbi
Vai a una console Linux (usando Ctrl+ Alt+ F1) e inseriscifbi <filename>
Dovrebbe mostrare la tua immagine.
fbi
. La homepage afferma che può visualizzare immagini non solo con il framebuffer, ma anche con X. Tuttavia, non verrà installato per me.
Un'altra alternativa è la terminologia:
https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg
Puoi installarlo su Ubuntu aggiungendo il repository enlightenment-git :
sudo add-apt-repository ppa:enlightenment-git/ppa
sudo apt-get update && sudo apt-get install terminology
O nelle recenti versioni di Ubuntu> = Vivid (15.04) può essere recuperato dai repository ufficiali.
sudo apt-get install terminology
Per visualizzare un'immagine, digitare tycat IMAGENAME
e per visualizzare un elenco di immagini, digitare tyls -m
.
tycat
per visualizzare un'immagine in linea e tyls -m
per visualizzare miniature di medie dimensioni in una directory.
terminology
è nei repository ufficiali di Ubuntu , non è necessario il PPA.
In realtà esiste un progetto del genere chiamato TermKit , se vuoi provarlo - dai un'occhiata a http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/ ma è abbastanza incompiuto (poiché sembri avere un Mac, dovresti provare la versione per Mac poiché è "l'originale")
Quindi sì, è un'idea che vale la pena esplorare, tuttavia: il passaggio dalla modalità grafica a quella di solo testo deve essere rapido poiché non ho sempre bisogno delle immagini visualizzate. Inoltre, deve essere pienamente compatibile con ad es. Vim ..
chromium-browser
i repository, quindi è abbastanza facile installare qualcosa di Chromelike - Non ho davvero provato TermKit sul mio computer (con Chromium installato, ma usando Fx come principale) poiché sono abbastanza dipendente da Vim e non posso davvero usare un terminale che non mi darà il mio amato editor di testi;)
Questo non esiste; gnome-terminal
è in grado di visualizzare solo testo, almeno per quanto ne so.
Tuttavia, puoi chiamare un visualizzatore di immagini dalla riga di comando per vedere le tue foto in una cartella specifica. Quindi, uscendo dal tuo mockup sopra che mostra l'elenco di tutte le immagini .jpg nella cartella corrente, puoi usare Eye of GNOME (il visualizzatore di immagini predefinito di Ubuntu) dalla riga di comando per qualcosa di simile:
eog *.jpg &
Si noti che la finestra che viene visualizzata mostrerà solo un'immagine alla volta, sebbene sia possibile utilizzare i pulsanti freccia forniti per spostarsi tra di esse.
eog *.jpg & disown
è meglio, altrimenti l'EOG uscirà probabilmente alla chiusura del terminale. NB Vorrei che EOG fosse ancora il visualizzatore di immagini deficito di Ubuntu - Shotwell è buono, ma cerca di indicizzare i miei 30 GB + di foto .... ed è comunque lento e fastidioso
Ho scritto uno strumento per farlo. Ho chiamato il mio Show Image In Terminal ( siit
). Presuppone che tu abbia un terminale a 256 colori e il supporto UTF8, ed è scritto in perl.
L'ho lasciato cadere nel mio ~/bin
. Presuppone che tu abbia Image :: Magick, Term :: Size, Getopt :: Long e Time: HiRes, che dovrebbero essere tutti disponibili nei repository della tua distribuzione o CPAN.
Il mio intento era di lanciarmi a casa mia e di visualizzare rapidamente le immagini senza lanciare un display su X. Lo script si ridimensiona in modo da ottenere la larghezza / altezza appropriate per il terminale in cui ti trovi. Ho usato i caratteri UTF8 per raddoppiare efficacemente la risoluzione verticale del tuo terminale, che in realtà aiuta la chiarezza. YMMV.
Oltre alla risposta di Joel , il file manager del terminale Ranger con w3mimgdisplay
estensione può mostrare le immagini a colori e supporta anche "anteprime artistiche ASCII di vecchia scuola". Ecco come è possibile abilitarlo. Questo potrebbe non essere esattamente quello che stavi cercando, ma un modo per visualizzare in anteprima le immagini nel terminale.
Un altro strumento è catimg , anche se non esiste un pacchetto pronto per Ubuntu. In realtà non visualizza l'immagine ma la trasforma in caratteri colorati.
Ecco alcune soluzioni in node.js
(Istruzioni di installazione qui ).
Per installare uno, digitare npm install -g <package_name>
dove si package_name
trova uno picture-tube
o imaging
.
feh
! So che non è nel terminal, ma fa il suo lavoro.