Opzioni per mostrare le immagini quando sulla console


12

Quando sono sulla console (il tty, il terminale virtuale, che raggiungi con Ctrl+ Alt+ F1-6, non un emulatore di terminale), quali opzioni ho per visualizzare immagini, tiff, qualunque cosa non sia testo?


Intendi il terminale virtuale invece di un emulatore di terminale? unix.stackexchange.com/questions/4126/…
Graeme

@Graeme: sì, tutto qui.
Joseph Schliesser,

vedi anche: Gate One
strugee

Risposte:


9

È possibile utilizzare la libreria da AA-Project

inserisci qui la descrizione dell'immagine

applicazioni:

  • xine-console [video]
  • xaos [frattali / mandelbrod]
  • vlc [video]
  • aview [foto]
  • ... amo

7

Prima di tutto devi assicurarti che il framebuffer sia abilitato, non c'è assolutamente modo di visualizzare le immagini in modalità testo. Dopo aver abilitato il framebuffer, è possibile utilizzare il programma fbiper visualizzare le immagini.

Pacchetto: fbi

Visualizzatore di immagini per il frame buffer di Linux

Questo è un visualizzatore di immagini per dispositivi con frame buffer Linux. Ha il supporto integrato per numerosi formati di file immagine comuni. Per i file sconosciuti, tenta di utilizzare convert dal pacchetto ImageMagick come convertitore esterno. Include anche fbgs, Postscript e visualizzatore di PDF.


7

Molte immagini sono colorate, quindi puoi usare il visualizzatore di immagini ASCII di Libcaca ( cacaview) e il convertitore da immagine a testo ( img2iso).

  • Per sfogliare le immagini, utilizzare il browser di immagini ASCII :

    cacaview /usr/share/pixmaps/*.*
    
  • Converti immagini in file colorati basati su testo:

    img2txt -W 150 penguins_mating.png > penguins_mating.txt
    
  • Visualizza film e video nella console di testo:

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

    Per lo più non è necessaria l'opzione -vo cacase si visualizza il video in un ambiente di solo testo (terminale con connessione ssh, terminale virtuale ecc.). Per impostazione predefinita, otterrai l'output di testo non colorato (ovvero -vo aa), ma il colore potrebbe essere migliore.

Per Fedora e Ubuntu il pacchetto caca-utilsdeve essere installato.

Leggi qui per maggiori informazioni.

inserisci qui la descrizione dell'immagine


2

mplayerha un driver framebuffer (2 versioni, nel caso in cui una non funzioni). Uso

mplayer -vo fbdev [or fbdev2] <filename>

Per immagini fbie fimlavoro. Qualunque altra cosa questi due non riescano a gestire, probabilmente puoi convertirti in immagini al volo ( imagemagickfunziona come per magia), quindi hai tutto coperto.


1

È possibile utilizzare un dispositivo framebuffer . Il meccanismo framebuffer è quello usato per visualizzare Tux all'avvio.

C'è anche il libcaca usato per visualizzare immagini di arte ASCII.


Potresti aggiungere qualche dettaglio in più? Come si potrebbe fare usando questi strumenti?
terdon

Dipende molto dal tuo hardware e dalle tue esigenze. Dovresti fornire maggiori dettagli nella tua domanda e dare un contesto.
Lgeorget,

Non è la mia domanda. Sto sottolineando che quando si risponde a una domanda, è necessario includere i dettagli su come farlo. Stai solo dando due link a fonti esterne, qualcosa che cerchiamo di evitare. L'idea è che le risposte sui siti SE siano autonome.
terdon

Certo, ma non c'è solo un modo per usare questi strumenti. E non c'è molto contesto nella domanda quindi ...
lgeorget

0

ffmpeg può mostrare qualsiasi formato immagine a schermo intero:

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


0

Oggi esiste una biblioteca chiamata SVGAlib . Gestisce direttamente la scheda video, con driver di spazio utente (importati principalmente da X).

Non ha driver per la maggior parte delle schede video attuali, ma

  • ha un driver di output VESA (cioè essenzialmente può gestire l'output con i driver del BIOS)
  • ha i driver fbdev (gestisce /dev/fb0come una scheda video, quindi essenzialmente utilizza i driver del kernel).

Esistono molti software che utilizzano SVGALib, ad esempio mplayer (per l'output video) e rispondendo alla tua domanda, il visualizzatore di immagini xzgv .

Anche se dovrai compilarli dal sorgente, perché tutti gli sviluppatori di distribuzione Linux pensano da circa un decennio, che X (con promesse piacevoli e mai mantenute come kgi, ggi e wayland di oggi) sono il futuro.


0

Questa risposta è limitata alle console Linux native abilitate al frame buffer. Questa opzione offre immagini reali e video reali (non ascii-art) a piena risoluzione senza X11o waylando mir.

A partire dal 2018, debian offre un pacchetto fimche include un visualizzatore di immagini fime un visualizzatore di documenti fimgs. Per fimgs, la risoluzione predefinita è 96x96, che probabilmente troverai inadeguata. Trovo che chiamarlo con l'opzione -r 256x256sia sufficiente. Questi due programmi sono pensati per essere versioni "modernizzate" di altri programmi disponibili anche in debian fbie fbgs. Una particolare delusione per il vecchio programma fbgsè che viene eseguito il rendering lentamente e verrà eseguito il rendering di un intero file pdf prima di visualizzare anche una sola pagina, quindi se si dispone di un documento a più pagine, si attende molto tempo.

Esistono diversi programmi non specifici per il funzionamento di framebuffer che hanno un supporto per framebuffer di qualità. Il w3mbrowser Web visualizzerà le immagini quando w3m-imgè installato il pacchetto di supporto . Il fehvisualizzatore di immagini funziona in una console di frame buffer, come vlcper i video.

Tutto questo è molto buono e buono, ma per utilizzare una di queste opzioni devi prima impostare le cose.

La buona notizia è che praticamente tutte le moderne distribuzioni di Linux forniscono kernel con il framebuffer disponibile. Ciò che non è comunemente fatto è configurare quel frame buffer per essere effettivamente utilizzato. Per questo, se si utilizza il grubbootloader, sarà necessario assicurarsi che nel file esista quanto segue /etc/default/grub(il numero di risoluzione specifico potrebbe essere diverso):

  GRUB_GFXMODE=1024x768
  GRUB_GFXPAYLOAD_LINUX=1024x768

E dovrai assicurarti che la seguente riga sia commentata:

  #GRUB_TERMINAL=console

Successivamente, sarà necessario aggiornare grub eseguendo update-grube sarà necessario riavviare per rendere effettive le modifiche.

Potrebbe inoltre essere necessario aggiungere il tuo utente al videogruppo di autorizzazioni:

  usermod -a -G video <user_name>

Alcuni programmi potrebbero richiedere un accesso con capacità speciali. Secondo le mie note, questo è il caso fbi, ma vedo sul mio sistema che non è il caso fim. Vai a capire. In ogni caso il comando per questo è:

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

È un programma che non posso raccomandare e con cui ho avuto solo problemi fbterm. Ha mantenuto scherzi con i miei schemi di colore per emacs, mc, lesse altri programmi, e ricordo che non avrebbe giocato bene verrà tmux.

Una nota importante sull'uso vlcin una console framebuffer: ho scoperto che a volte, in un modo in cui non ero in grado di riprodurre in modo affidabile, vlcsi congelava e non rilasciava il framebuffer, a corto di "alt-sysrq" -consentendo il riavvio della macchina. A volte, questo è successo quando si è tentato di passare a un'altra console virtuale; a volte quando si sperimenta con quali vlccomandi di battitura funzionerebbe. Sei stato avvertito.


c'è anche il termine terminologia dell'emulatore che può essere eseguito su una console framebuffer ( terminology --nowm). l'utilità inclusa tycatpuò incorporare immagini.
donchisciottesco

È quello del popolo del desktop 'illuminazione'? L'ho valutato forse un anno fa ed era pieno di bug allora, ma se puoi garantirlo, fantastico!
user1404316

ho appena iniziato a guardarlo e non posso confermare la mancanza di bug, scusa. funziona principalmente su un sistema (intel gpu), non funziona su un altro (driver proprietario nvidia, non testato ma probabilmente funziona sotto nouveau). imposta le XKB_DEFAULT_{LAYOUT,VARIANT,OPTIONS}variabili env per i layout xkb (anche se AltGr non sembra funzionare correttamente).
donchisciottesco il

-6

Nessuna. Per visualizzare le immagini è necessario un qualche tipo di server di visualizzazione. Xserver, mir, wayland o simili forniscono le interfacce per le immagini. getty è progettato per emulare terminali di testo e non ha la capacità di visualizzare immagini.


2
Non sono d'accordo. Come verrebbe visualizzato Tux all'avvio? commons.wikimedia.org/wiki/File:KNOPPIX_booting.png ;-)
lgeorget

Framebuffer. Senza abilitare il frame-buffering non si può fare, avrei dovuto dirlo. Ma hanno anche detto di essere su un vero terminale. Dimenticando che non sono su un vero terminale, su un vero terminale (vt1000) o simili, sono abbastanza certo che non sia possibile.
Livinglifeback

Molti terminali reali hanno la capacità di disegnare grafici. La capacità grafica è stata un punto di forza negli anni '80. E gettynon emula nulla.
JdeBP,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.