Esta é uma rápida maquete que eu copio e colo. Eu imagino que isso seja super legal e útil.
Já existe algo assim?
Esta é uma rápida maquete que eu copio e colo. Eu imagino que isso seja super legal e útil.
Já existe algo assim?
Respostas:
Atualização 2018-12-31
O excelente kit emulador de terminal tem um icat
comando para exibir imagens (não funciona no tmux). Kitty também permite visualizações de imagens no ranger (um gerenciador de arquivos do terminal), que é o método que eu mais uso atualmente (funciona no tmux).
Embora o objetivo principal w3m
seja fornecer navegação na web no console, ele também pode ser usado para visualizar imagens no terminal. Os pacotes relevantes a serem instalados são w3m
e w3m-img
(pelo menos no Ubuntu). Você precisará desativar o visualizador de imagens externo passando -o ext_image_viewer=0
ou acessando o menu de opções ('o') dentro w3m
e desativando a visualização de imagens externas.
Agora, a digitação 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 w3m
(pense less
, não cat
). Observe que, se a imagem for grande demais para caber na janela do terminal, ela ainda será aberta externamente (na imagem para mim). Observe também que, embora eu tenha lido vários locais para os quais as w3m
imagens embutidas não funcionariam gnome-terminal
, está funcionando bem para mim. É um pouco chato que você precise digitar q
duas vezes para fechar primeiro a imagem e depois w3m
.
tycat
faz parte terminology
e exibe imagens como cat
exibe arquivos de texto e imgcat
funciona para o iTerm2 no OS X.
Instale libsixel-bin
e qualquer terminal compatível (exemplos mencionados em 'Requisitos' deste leia-me , por exemplo, mlterm
ou xterm
compilados com os sinalizadores corretos e você pode visualizar imagens com o img2sixel
comando. Ambos os pacotes estão disponíveis nos repositórios do Ubuntu.
Depois, há o FIM, que é uma versão aprimorada do fbi
. A página inicial declara 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 rodar baixando a versão do tronco 0.5, executando ./configure --disable-exif
e removendo temporariamente anaconda
(distribuição python) do meu caminho, pois causava um conflito libpng
antes da execução make
e sudo checkinstall
(você precisa escrever manualmente um número de versão checkinstall
, mas facilita para remover que make install
). No entanto, as imagens ainda são exibidas em uma janela separada, embora, como fbi
você, não precise executar o X, o que é bem legal.
Você também pode ser criativo e usar o jupyter-qtconsole como console do sistema, configurá-lo para mostrar plotagens inline ( %matplotlib inline
) e exibir a imagem usando matplotlib =)
feh
está usando o X para exibir imagens, mas as exibe feh -x
em uma janela sem borda que pode ser rapidamente fechada com q
ou x
. Embora as imagens não sejam exibidas no terminal, por exemplo, achei que valeria a pena mencionar, pois é a maneira menos invasiva que encontrei até agora e o que estou usando até gnome-terminal
obter um imgcat
/ tycat
equivalente.
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 terminal é grande o suficiente.
Por exemplo, veja como esta imagem é exibida em cacaview
:
Às vezes eu costumava usá-lo por diversão para assistir vídeos como ASCII no mplayer :)
mplayer -vo caca /PATH/TO/video.mpg
img2txt
"watch videos as ASCII" But... why?
porque você quer? porque você precisa espiar o vídeo e a única coisa que você tem é terminal? Porque se você não precisa de algo, isso NÃO significa que outros o sigam.
mpv
possui uma saída tct que (quando usada com --quiet
) exibe mídia no terminal com qualidade comparável a pxl
.
Eu escrevi uma pequena ferramenta C ++ para converter imagens em códigos de controle ANSI RGB e caracteres gráficos de bloco Unicode para terminais modernos com suporte para esses recursos: https://github.com/stefanhaustein/TerminalImageViewer
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:
Eu criei uma função de shell de uma linha muito rápida e simples, que resolve a pergunta original exatamente conforme solicitado nas maquetes. Observe que as capturas de tela abaixo são imagens reais, não maquetes.
function lsix() { montage -tile 7x1 -label %f -background black -fill white "$@" gif:- | convert - -colors 16 sixel:-; }
Os pré-requisitos são mínimos: xterm e ImageMagick ( apt-get install xterm imagemagick
). Seu xterm deve estar no modo vt340, que você pode definir na ~/.Xresources
linha de comando ( xterm -ti vt340
) ou a partir dela .
Limitações: Apenas 16 cores são usadas em todas as imagens mostradas. Isso significa que uma imagem pode parecer melhor quando vista sozinha. (Ver abaixo).
ATUALIZAR
Enquanto minha resposta acima ainda está correta, eu criei um script de shell ainda melhor que é capaz de fazer um 'ls' de imagens diretamente em um terminal. Eu adicionei todo o tipo de aprimoramentos para melhorar a aparência das imagens (mais cores, alfa adequado, orientação JPEG, manipulação de muitas imagens, layout compacto de blocos, ...). Ainda é um programa relativamente pequeno, mas achei que as pessoas poderiam querer personalizá-lo, então o coloquei no github: https://github.com/hackerb9/lsix .
Você não pode fazer isso em uma janela de terminal, mas em um console Linux usando fbi
. Você precisa de um buffer de estrutura para permitir que isso funcione:
sudo apt-get install fbi
Vá para um console Linux (usando Ctrl+ Alt+ F1) e digitefbi <filename>
Deve mostrar sua imagem.
fbi
. A página inicial declara 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.
Outra alternativa é a terminologia:
https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg
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 versões recentes do Ubuntu> = Vivid (15.04), ele pode ser obtido nos repositórios oficiais.
sudo apt-get install terminology
Para visualizar uma imagem, digite tycat IMAGENAME
e para ver uma lista de imagens, digite tyls -m
.
tycat
para exibir uma imagem em linha e tyls -m
para exibir miniaturas de tamanho médio em um diretório.
terminology
está nos repositórios oficiais do Ubuntu , sem necessidade de PPA.
Na verdade, existe um projeto chamado TermKit , se você quiser testá-lo - confira http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/, mas é bastante inacabado (como você parece ter um Mac, tente a versão para Mac, já que é "o original")
Portanto, sim, é uma ideia que vale a pena explorar - a alternância entre o modo gráfico e somente texto deve ser rápida, pois nem sempre preciso das imagens visualizadas. Além disso - ele precisa ser totalmente compatível com, por exemplo, o Vim ..
chromium-browser
repositórios -, para que seja muito fácil instalar algo como o Chromelike - eu realmente não tentei o TermKit no meu computador (com o Chromium instalado, mas usando Fx como principal) desde que eu sou muito dependente Vim, e não pode realmente usar um terminal que não vai me dar o meu editor de texto amado;)
Isso não existe; gnome-terminal
só é capaz de exibir texto, pelo menos até onde eu sei.
No entanto, você pode chamar um visualizador de imagens na linha de comando para ver suas fotos em uma pasta específica. Portanto, saindo da maquete acima, mostrando a lista de todas as imagens .jpg na pasta atual, você pode usar o Eye of GNOME (visualizador de imagens padrão do Ubuntu) na linha de comando para algo semelhante:
eog *.jpg &
Observe que a janela exibida mostrará apenas uma imagem de cada vez, embora você possa usar os botões de seta fornecidos para alternar entre eles.
eog *.jpg & disown
é melhor; caso contrário, o EOG provavelmente sairá quando o terminal fechar. NB Desejo EOG ainda estava visualizador de imagens defualt do Ubuntu - shotwell é bom, mas tenta indexar meu 30GB + de fotos .... e é lento e chato de qualquer maneira
Eu escrevi uma ferramenta para fazer isso. Eu nomeei o meu Show Image In Terminal ( siit
). Pressupõe que você tenha um terminal de 256 cores e suporte UTF8, e está escrito em perl.
Eu deixei cair no meu ~/bin
. Pressupõe que você tenha Image :: Magick, Term :: Size, Getopt :: Long e Time: HiRes, que devem estar disponíveis nos repositórios da sua distribuição, ou CPAN.
Minha intenção era entrar na minha casa e ver rapidamente as imagens sem abrir uma tela sobre X. As escalas de script são apropriadas para a largura / altura do terminal em que você está. Usei caracteres UTF8 para dobrar efetivamente a resolução vertical do seu terminal, o que realmente ajuda a clareza. YMMV.
Além da resposta de Joel , o gerenciador de arquivos do terminal Ranger com w3mimgdisplay
extensão pode mostrar imagens em cores e também suporta "antevisões de arte ASCII da velha escola". Aqui está como você pode habilitá-lo. Pode não ser exatamente o que você estava procurando, mas uma maneira de visualizar imagens no terminal.
Outra ferramenta é o catimg , embora não haja um pacote pronto para o Ubuntu. Na verdade, ele não visualiza a imagem, mas a transforma em caracteres coloridos.
Aqui estão algumas soluções em node.js
(Instruções de instalação aqui ).
Para instalar um, digite npm install -g <package_name>
where package_name
é um de picture-tube
ou imaging
.
feh
! Sei que não está no terminal, mas funciona.