Como faço para exibir minhas imagens gráficas do terminal?

115

Este é um modelo rápido que eu copio e colei. Eu imagino que isso seja super legal e útil.

Já existe algo assim?

    
por Dennkster 22.01.2012 / 10:41
fonte

12 respostas

53

Talvez caca seja o que você quer. Para imagens :

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

Verifique se a janela do seu terminal é grande o suficiente.

Por exemplo, aqui está como esta imagem é exibida em cacaview :

Eu às vezes usei por diversão para assistir a vídeos como ASCII no mplayer :) Assim:

mplayer -vo caca /PATH/TO/video.mpg
    
por user569825 07.09.2012 / 13:35
fonte
32

1. w3m

Embora o objetivo principal de w3m seja fornecer navegação na Web no console, ele também pode ser usado para exibir imagens no terminal. Os pacotes relevantes a serem instalados são w3m e w3m-img (no Ubuntu, pelo menos). Em seguida, você precisa desabilitar o visualizador de imagens externo passando -o ext_image_viewer=0 ou indo para o menu de opções ('o') dentro de w3m e desativando a visualização de imagens externas.

Agora, digitar w3m <image_name> exibirá a imagem no terminal. w3m usará toda a janela do terminal, portanto, você não poderá ver seus comandos anteriores até sair do w3m (pense em less , não em cat ). Note que se a imagem for grande para caber na janela do terminal, ela ainda será aberta externamente (em imagemagick para mim). Observe também que, embora eu tenha lido vários lugares em que w3m imagens inline não funcionariam para gnome-terminal , está funcionando bem para mim. É um pouco chato ter que digitar q duas vezes para fechar primeiro a imagem e depois w3m .

2. Terminologia

tycat faz parte de terminology e exibe imagens como cat exibindo arquivos de texto e imgcat funciona para o iTerm2 no OS X.

3. libsixel + mlterm / xterm

Instale libsixel-bin e qualquer terminal compatível (exemplos mencionados em 'Requisitos' deste leia-me , por exemplo mlterm ou xterm compilado com os flags certos e você pode ver imagens com o comando img2sixel Ambos os pacotes estão disponíveis nos repositórios do Ubuntu.

4. FIM

Depois, há FIM , que é uma versão aprimorada do fbi . A homepage afirma que ele pode exibir imagens não apenas com o framebuffer, mas também com o X. No entanto, ele não será instalado para mim. Editar Eu consegui executar baixando a versão 0.5 do tronco, executando ./configure --disable-exif e, em seguida, removendo temporariamente anaconda (distribuição python) do meu caminho porque causou um conflito com libpng antes de executar make e sudo checkinstall (você precisa escrever um número de versão manualmente com checkinstall , mas fica mais fácil remover do que make install ). No entanto, as imagens ainda são exibidas em uma janela separada, embora, como com fbi , você não precise executar X, o que é legal.

5. jupyter-qtconsole

Você também pode ser criativo e usar o jupyter-qtconsole como seu console de sistema, configurá-lo para mostrar gráficos em linha ( %matplotlib inline ) e, em seguida, exibir a imagem usando matplotlib =)

6. feh

feh está usando o X para exibir imagens, mas feh -x as exibe em uma janela sem borda que pode ser fechada rapidamente com q ou x . Embora as imagens não sejam exibidas no terminal por palavra, achei que valeu a pena mencionar, pois é a maneira menos intrusiva que encontrei até agora e o que estou usando até gnome-terminal obter um imgcat / tycat equivalente. / p>     

por joelostblom 14.11.2015 / 23:28
fonte
31

Você não pode fazê-lo em uma janela de terminal, mas pode fazê-lo em um console do Linux usando fbi . Você precisa de um framebuffer para permitir que isso funcione:

sudo apt-get install fbi

Vá para um console Linux (usando Ctrl + Alt + F1 ) e digite fbi <filename>

Ele deve mostrar sua imagem.

    
por Amith KK 22.01.2012 / 11:12
fonte
25

Eu escrevi uma pequena ferramenta C ++ para converter imagens em códigos de controle ANSI RGB e caracteres gráficos em bloco Unicode para terminais modernos que suportam esses recursos: link

Instalação:

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

Uso:

tiv <image(s)>

Editar : links / instruções alterados para o repositório principal; uso adicionado.

Exemplos:

    
por Stefan Haustein 09.04.2016 / 01:06
fonte
21

Eu fiz uma função de shell de uma linha muito rápida e simples que resolve a questão original exatamente como solicitado nos mockups. Observe que as capturas de tela abaixo são imagens reais, não modelos.

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

Pré-requisitossãomínimos:xtermeImageMagick(apt-getinstallxtermimagemagick).Seuxtermdeveestarnomodovt340,quevocêpodedefinirem~/.Xresourcesounalinhadecomando(xterm-tivt340).

Limitações:Apenas16coressãousadasemtodasimagensmostradas.Issosignificaqueumaimagempodeparecermelhorquandovistaporcontaprópria.(Verabaixo).

UPDATE

Emboraminharespostaacimaaindaestejacorreta,crieiumscriptdeshellaindamelhorqueécapazdefazerum'ls'deimagensdiretamenteemumterminal.Hátodosostiposdemelhoriasqueadicioneiparafazercomqueasimagenspareçammelhores(maiscores,bomalinhamento,orientaçãoJPEG,manipulaçãodemuitasimagens,layoutdeblococompacto,...).Aindaéumprogramabastantepequeno,masimagineiqueaspessoaspudessempersonalizá-lo,entãocoloqueinogithub: link .

    
por hackerb9 31.05.2017 / 13:24
fonte
18

Outra alternativa é a terminologia:

link

Você pode instalá-lo no Ubuntu adicionando o repositório enlightenment-git :

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

Ou em lançamentos recentes do Ubuntu > = Vivid (15.04), ele pode ser obtido dos repositórios oficiais.

sudo apt-get install terminology

Para ver uma imagem, digite tycat IMAGENAME e, para visualizar uma lista de imagens, digite tyls -m .

    
por Javier López 27.02.2014 / 03:09
fonte
12

Existe um projeto chamado TermKit , se você quiser testá-lo - confira link mas está bastante inacabado (já que você parece ter um Mac, você deveria experimente a versão para Mac já que é "o original")

Então, sim, é uma ideia que vale a pena explorar, no entanto, a alternância entre o modo gráfico e somente texto deve ser rápida, pois nem sempre eu preciso das imagens visualizadas. Além disso, ele precisa ser totalmente compatível com, por exemplo, Vim ..

    
por sakjur 22.01.2012 / 11:39
fonte
8

Isso não existe; gnome-terminal só é capaz de reproduzir textos, pelo menos até onde eu sei.

No entanto, você pode chamar um visualizador de imagens da linha de comando para ver suas fotos em uma pasta específica. Então, saindo do seu mockup acima mostrando você listando todas as imagens .jpg na pasta atual, você pode usar o Eye of GNOME (visualizador de imagens padrão do Ubuntu) a partir da linha de comando para algo similar:

eog *.jpg &

Observe que a janela que aparece mostrará apenas uma imagem por vez, embora você possa usar os botões de seta fornecidos para alternar entre elas.

    
por Christopher Kyle Horton 22.01.2012 / 11:12
fonte
6

Eu escrevi uma ferramenta para fazer isso. Eu nomeei meu Show Image In Terminal ( siit ). Ele pressupõe que você tenha um terminal de 256 cores e suporte para UTF8, e está escrito em perl.

Eu coloquei no meu ~/bin . Ele assume que você tem Image :: Magick, Term :: Size, Getopt :: Long e Time: HiRes, que devem estar todos disponíveis nos repositórios da sua distribuição, ou CPAN.

Minha intenção era entrar na minha casa e visualizar rapidamente as imagens sem iniciar uma exibição sobre X. As escalas de script são adequadas à largura / altura do terminal em que você está. Usei caracteres UTF8 para dobrar efetivamente a resolução vertical de seu terminal , o que realmente ajuda a clareza. YMMV.

Veja fotos de exemplo aqui

Código-fonte aqui

    
por Tom 04.05.2013 / 17:04
fonte
3

Aqui estão algumas soluções em node.js (instruções de instalação aqui ).

  1. imagem-tubo

  2. imagens

Para instalar, digite npm install -g <package_name> , em que package_name é picture-tube ou imaging .

    
por Nemo 02.02.2014 / 14:54
fonte
3

Além da resposta de Joel , Ranger com a extensão w3mimgdisplay pode mostrar imagens em cores e também suporta" prévias de arte ASCII do oldschool ". Aqui você pode ativá-lo. Isso pode não ser exatamente o que você estava procurando, mas uma maneira de visualizar imagens no terminal.

    
por Ahmet Seha Çelenk 13.05.2017 / 09:32
fonte
2

Outra ferramenta é o catimg , embora não exista um pacote pronto para o Ubuntu. Na verdade, ele não visualiza a imagem, mas a transforma em caracteres coloridos.

    
por some user 27.09.2016 / 16:32
fonte