Opções para mostrar imagens quando estiver no console

12

Quando estou no console (o tty, o terminal virtual, que você acessa com Ctrl+ Alt+ F1-6, não um emulador de terminal), que opções tenho para visualizar imagens, tiff, qualquer que seja o texto?

Joseph Schliesser
fonte
Você quer dizer o terminal virtual ao invés de um emulador de terminal? unix.stackexchange.com/questions/4126/…
Graeme
@ Graeme: sim, é isso.
Joseph Schliesser
veja também: Gate One
strugee

Respostas:

9

Você pode usar a biblioteca do projeto AA

insira a descrição da imagem aqui

Formulários:

  • xine-console [vídeo]
  • xaos [fractais / mandelbrod]
  • vlc [vídeo]
  • aview [fotos]
  • ... amo

fonte
7

Primeiro, você deve verificar se o buffer de quadros está ativado, não há absolutamente nenhuma maneira de visualizar imagens no modo de texto. Depois de ativar o buffer de estrutura, você pode usar o programa fbipara visualizar imagens.

Pacote: fbi

Visualizador de imagens de buffer de quadro do Linux

Este é um visualizador de imagens para dispositivos buffer de quadro do Linux. Possui suporte interno para vários formatos de arquivo de imagem comuns. Para arquivos desconhecidos, ele tenta usar o convert do pacote ImageMagick como um conversor externo. Ele também inclui fbgs, um visualizador Postscript e PDF.

Graeme
fonte
7

Muitas imagens são coloridas, portanto, você pode usar o visualizador de imagens ASCII da libcaca ( cacaview) e o conversor de imagem para texto ( img2iso).

  • Para procurar imagens, use o navegador de imagens ASCII :

    cacaview /usr/share/pixmaps/*.*
    
  • Converta imagens em arquivos coloridos baseados em texto:

    img2txt -W 150 penguins_mating.png > penguins_mating.txt
    
  • Veja filmes e vídeos no console de texto:

    mplayer -vo caca https://upload.wikimedia.org/wikipedia/commons/4/41/Big_Buck_Bunny_medium.ogv
    

    Principalmente, você não precisa da opção -vo cacase visualizar seu vídeo em um ambiente somente de texto (terminal com conexão ssh, terminal virtual etc.). Por padrão, você obtém a saída de texto não colorida (ou seja -vo aa), mas a cor pode ser melhor.

Para o Fedora e Ubuntu, o pacote caca-utilsdeve ser instalado.

Leia aqui para mais informações.

insira a descrição da imagem aqui

erik
fonte
2

mplayerpossui um driver framebuffer (2 versões, caso uma não funcione). Usar

mplayer -vo fbdev [or fbdev2] <filename>

Para imagens fbie fimtrabalho. Tudo o que esses dois não podem suportar, você provavelmente pode converter em imagens instantaneamente ( imagemagickfunciona como mágica), para ter tudo coberto.

orion
fonte
1

Você pode usar um dispositivo buffer de estrutura . O mecanismo framebuffer é aquele usado para exibir o Tux quando você inicializa.

Há também a libcaca usada para exibir imagens da arte ASCII.

lgeorget
fonte
Você poderia adicionar mais alguns detalhes? Como alguém usaria essas ferramentas?
terdon
Depende muito do seu hardware e das suas necessidades. Você deve fornecer mais detalhes em sua pergunta e fornecer contexto.
precisa saber é o seguinte
Não é minha pergunta. Estou apontando que, ao responder uma pergunta, você deve incluir os detalhes de como fazê-lo. Você está apenas dando dois links para fontes externas, algo que tentamos evitar. A idéia é que as respostas nos sites da SE sejam independentes.
terdon
Claro, mas não há apenas uma maneira de usar essas ferramentas. E não há muito contexto na pergunta então ...
lgeorget
0

O ffmpeg pode mostrar qualquer formato de imagem em tela cheia:

ffmpeg -i image.ext -s $(< /sys/class/graphics/fb0/virtual_size tr , x) \
       -vcodec rawvideo -f image2 -pix_fmt bgra -y /dev/fb0 &>/dev/null && read

MetNP
fonte
0

Hoje existe uma biblioteca hoje chamada SVGAlib . Ele lida diretamente com a placa de vídeo, com drivers de espaço do usuário (importados principalmente do X).

Não possui drivers para a maioria das placas de vídeo atuais, mas

  • possui driver de saída VESA (ou seja, essencialmente, ele pode lidar com a saída com os drivers do BIOS)
  • possui drivers fbdev (ele manipula /dev/fb0como uma placa de vídeo, portanto, essencialmente, usa os drivers do kernel).

Existem muitos softwares usando o SVGALib, por exemplo, mplayer (para saída de vídeo) e, respondendo à sua pergunta, o visualizador de imagens xzgv .

Embora você precise compilá-los da fonte, porque todos os desenvolvedores de distribuição Linux pensam desde aproximadamente uma década, que o X (com promessas contínuas e agradáveis ​​e nunca cumpridas, como kgi, ggi e hoje wayland) é o futuro.

peterh - Restabelecer Monica
fonte
0

Esta resposta é limitada aos consoles linux nativos habilitados para buffer de quadros. Esta opção fornece imagens reais de alta resolução e vídeo real (não ascii-art) sem X11ou waylandou mir.

A partir de 2018, o debian oferece um pacote fimque inclui um visualizador de imagens fime um visualizador de documentos fimgs. Pois fimgs, a resolução padrão é 96x96, que você provavelmente achará inadequada. Acho que chamá-lo com opção -r 256x256é suficiente. Estes dois programas devem ser versões 'modernizadas' de outros programas também disponíveis no debian, fbie fbgs. Uma decepção particular com o programa mais antigofbgs é que ele é renderizado lentamente e renderiza um arquivo PDF inteiro antes de exibir uma única página; portanto, se você tiver um documento com muitas páginas, esperará muito tempo.

Existem vários programas não específicos para a operação do buffer de estrutura que têm suporte fino ao buffer de estrutura. O w3mnavegador exibirá imagens quando o pacote de suporte w3m-imgestiver instalado. O fehvisualizador de imagens funciona em um console de buffer de quadros, assim como vlcno vídeo.

Tudo isso é muito bom e bom, mas para usar qualquer uma dessas opções, você precisará primeiro configurar as coisas.

A boa notícia é que praticamente todas as distribuições Linux modernas enviam kernels com o framebuffer disponível. O que geralmente não é feito é configurar esse buffer de quadro para ser realmente usado. Para isso, se você estiver usando o grubcarregador de inicialização, precisará verificar se o seguinte existe no seu arquivo /etc/default/grub(seu número de resolução específico pode ser diferente):

  GRUB_GFXMODE=1024x768
  GRUB_GFXPAYLOAD_LINUX=1024x768

E você precisará garantir que a seguinte linha seja comentada:

  #GRUB_TERMINAL=console

Depois disso, você precisará atualizar o grub executando update-grube precisará reiniciar para que as alterações tenham efeito.

Você também pode precisar adicionar seu usuário ao videogrupo de permissões:

  usermod -a -G video <user_name>

Alguns programas podem exigir acesso a recursos especiais. De acordo com minhas anotações, é esse o caso fbi, mas vejo no meu sistema que não é o caso fim. Vai saber. De qualquer forma, o comando para isso é:

  setcap 'cap_sys_tty_config+ep' /usr/bin/fbi

Um programa que eu não posso recomendar, e só tive problemas com, é fbterm. Manteve brincando com meus esquemas de cores para emacs, mc, lesse outros programas, e lembro-me que não iria jogar bem vai tmux.

Uma observação importante sobre o uso vlcem um console do framebuffer: descobri que, às vezes, de uma maneira que não era capaz de reproduzir com segurança, vlccongelava e não liberava o framebuffer, exceto "alt-sysrq" - na máquina para reinicializar. Às vezes, isso acontecia ao tentar alternar para outros consoles virtuais; às vezes, ao experimentar quais vlccomandos de teclas funcionariam. Você foi avisado.

user1404316
fonte
há também o termo terminologia do emulador que pode ser executado em um console do buffer de quadros ( terminology --nowm). o utilitário incluído tycatpode incorporar imagens.
quixotesca
É esse do pessoal da área de trabalho 'iluminação'? Avaliei-o talvez um ano atrás e era de buggy na época, mas se você puder atestar, ótimo!
precisa saber é o seguinte
Eu apenas comecei a olhar para ele e não posso confirmar a falta de bugs, desculpe. está funcionando principalmente - ok em um sistema (intel gpu), não funciona em outro (driver proprietário da nvidia, não testado, mas provavelmente funciona sob o nouveau). defina XKB_DEFAULT_{LAYOUT,VARIANT,OPTIONS}variáveis ​​env para layouts do xkb (embora o AltGr pareça não funcionar corretamente no atm).
quixotesca
-6

Nenhum. Você precisa de algum tipo de servidor de exibição para exibir imagens. Xserver, mir, wayland ou similar fornecem as interfaces para imagens. O getty foi projetado para emular terminais de texto e não tem a capacidade de exibir imagens.

Livinglifeback
fonte
2
Eu meio que discordo. Como o Tux seria exibido em horário de trânsito? commons.wikimedia.org/wiki/File:KNOPPIX_booting.png ;-)
lgeorget
Suavizador de quadros. Sem ativar o buffer de quadros, isso não pode ser feito, deveria ter mencionado isso. Mas, eles também mencionaram estar em um terminal real . Esquecendo que eles não estão em um terminal real, em terminais reais (vt1000) ou similar, tenho certeza de que não é possível.
Livinglifeback
Muitos terminais reais têm a capacidade de desenhar gráficos. A capacidade gráfica foi um ponto de venda nos anos 80. E gettynão está emulando nada.
JdeBP