Options pour afficher des images sur la console


12

Quand je suis sur la console (le tty, le terminal virtuel, que vous atteignez avec Ctrl+ Alt+ F1-6, pas un émulateur de terminal), quelles options ai-je pour voir des images, tiff, quoi que ce soit qui ne soit pas du texte?


Vous voulez dire le terminal virtuel par opposition à un émulateur de terminal? unix.stackexchange.com/questions/4126/…
Graeme

@Graeme: oui, c'est tout.
Joseph Schliesser

voir aussi: Gate One
strugee

Réponses:


9

Vous pouvez utiliser la bibliothèque de AA-Project

entrez la description de l'image ici

Applications:

  • console xine [vidéo]
  • xaos [fractales / mandelbrod]
  • vlc [vidéo]
  • aview [photos]
  • ... amo

7

Tout d'abord, vous devez vous assurer que le framebuffer est activé, il n'y a absolument aucun moyen de visualiser les images en mode texte. Une fois le framebuffer activé, vous pouvez utiliser le programme fbipour afficher les images.

Paquet: fbi

Visionneuse d'image de tampon de trame Linux

Il s'agit d'une visionneuse d'images pour les périphériques de tampon de trame Linux. Il prend en charge un certain nombre de formats de fichiers d'image courants. Pour les fichiers inconnus, il essaie d'utiliser la conversion du package ImageMagick comme convertisseur externe. Il comprend également fbgs, un afficheur Postscript et PDF.


7

De nombreuses images sont colorées, vous pouvez donc utiliser la visionneuse d'images ASCII de libcaca ( cacaview) et le convertisseur d'images en texte ( img2iso).

  • Pour parcourir les images, utilisez le navigateur d'images ASCII :

    cacaview /usr/share/pixmaps/*.*
    
  • Convertissez des images en fichiers couleur textuels:

    img2txt -W 150 penguins_mating.png > penguins_mating.txt
    
  • Visionnez des films et des vidéos dans la console texte:

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

    Généralement, vous n'avez pas besoin de cette option -vo cacasi vous visionnez votre vidéo dans un environnement texte uniquement (terminal avec connexion ssh, terminal virtuel, etc.). Par défaut, vous obtiendrez la sortie de texte non colorée (c'est-à-dire -vo aa), mais la couleur peut être meilleure.

Pour Fedora et Ubuntu, le package caca-utilsdoit être installé.

Lisez ici pour plus d'informations.

entrez la description de l'image ici


2

mplayera un pilote framebuffer (2 versions, au cas où une ne fonctionnerait pas). Utilisation

mplayer -vo fbdev [or fbdev2] <filename>

Pour les images fbiet le fimtravail. Quoi que ces deux autres ne puissent pas gérer, vous pouvez probablement convertir des images à la volée ( imagemagickfonctionne comme par magie), donc vous avez tout couvert.


1

Vous pouvez utiliser un périphérique framebuffer . Le mécanisme framebuffer est celui utilisé pour afficher Tux au démarrage.

Il y a aussi la libcaca utilisée pour afficher les images d'art ASCII.


Pourriez-vous ajouter plus de détails? Comment utiliser ces outils?
terdon

Cela dépend beaucoup de votre matériel et de vos besoins. Vous devez fournir plus de détails dans votre question et donner un contexte.
lgeorget

Pas ma question. Je souligne que lorsque vous répondez à une question, vous devez inclure les détails sur la façon de le faire. Vous donnez simplement deux liens vers des sources externes, ce que nous essayons d'éviter. L'idée est que les réponses sur les sites SE sont autonomes.
terdon

Bien sûr, mais il n'y a pas qu'une seule façon d'utiliser ces outils. Et il n'y a pas beaucoup de contexte dans la question alors ...
lgeorget

0

ffmpeg peut afficher n'importe quel format d'image en plein écran:

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

Il existe aujourd'hui une bibliothèque nommée SVGAlib . Il gère directement la carte vidéo, avec des pilotes de l'espace utilisateur (importés principalement de X).

Il n'a pas de pilotes pour la plupart des cartes vidéo actuelles, mais

  • il a un pilote de sortie VESA (c'est-à-dire qu'il peut essentiellement gérer la sortie avec les pilotes du BIOS)
  • il a des pilotes fbdev (il gère /dev/fb0comme une carte vidéo, donc il utilise essentiellement les pilotes du noyau).

Il existe de nombreux logiciels utilisant SVGALib, par exemple mplayer (pour la sortie vidéo), et répondant à votre question, la visionneuse d'images xzgv .

Bien que vous deviez les compiler à partir de la source, car les développeurs de distribution Linux pensent tous depuis environ une décennie, que X (avec de belles promesses continues et jamais tenues comme kgi, ggi et aujourd'hui wayland) est l'avenir.


0

Cette réponse est limitée aux consoles Linux natives qui sont activées pour le tampon de trame. Cette option vous donnera des images réelles en pleine résolution et de la vraie vidéo (pas ascii-art) sans X11ou waylandou mir.

Depuis 2018, debian propose un package fimqui comprend une visionneuse d'images fimet une visionneuse de documents fimgs. Pour fimgs, la résolution par défaut est 96x96, que vous trouverez probablement inadéquate. Je trouve que l'appeler avec option -r 256x256est suffisant. Ces deux programmes sont censés être des versions «modernisées» d'autres programmes également disponibles dans Debian fbiet fbgs. Une déception particulière avec l'ancien programme fbgsest qu'il rend lentement et rendra un fichier pdf entier avant d'afficher même une seule page, donc si vous avez un document à plusieurs pages, vous attendez très longtemps.

Il existe plusieurs programmes non spécifiques au fonctionnement du framebuffer qui prennent en charge très bien le framebuffer. Le w3mnavigateur Web affichera des images lorsque le package de support w3m-imgest installé. La fehvisionneuse d'images fonctionne dans une console de tampon d'image, comme vlcpour la vidéo.

Tout cela est très bien, mais pour utiliser l'une de ces options, vous devrez d'abord configurer les choses.

La bonne nouvelle est que presque toutes les distributions Linux modernes expédient des noyaux avec le framebuffer disponible. Ce qui n'est généralement pas fait, c'est de configurer ce tampon de trame pour qu'il soit réellement utilisé. Pour cela, si vous utilisez le grubchargeur de démarrage, vous devrez vous assurer que les éléments suivants existent dans votre fichier /etc/default/grub(votre numéro de résolution spécifique peut être différent):

  GRUB_GFXMODE=1024x768
  GRUB_GFXPAYLOAD_LINUX=1024x768

Et vous devrez vous assurer que la ligne suivante est mise en commentaire:

  #GRUB_TERMINAL=console

Après cela, vous devrez mettre à jour grub en exécutant update-grubet devrez redémarrer pour que les modifications prennent effet.

Vous devrez peut-être également ajouter votre utilisateur au videogroupe d'autorisations:

  usermod -a -G video <user_name>

Certains programmes peuvent nécessiter un accès à des capacités spéciales. Selon mes notes, c'est le cas fbi, mais je vois sur mon système que ce n'est pas le cas fim. Allez comprendre. Dans tous les cas, la commande pour cela est:

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

Un programme que je ne peux pas recommander, et que je n'ai rencontré que des problèmes, est fbterm. Elle a gardé de jouer avec mes schémas de couleurs pour emacs, mc, lesset d' autres programmes, et je me souviens qu'il ne jouait pas bien sera tmux.

Une note importante à propos de l'utilisation vlcdans une console framebuffer: j'ai trouvé que parfois, d'une manière que je ne pouvais pas reproduire de manière fiable, vlcgelait et ne libérait pas le framebuffer, à moins que "alt-sysrq" -ing la machine à redémarrer. Parfois, cela arrivait lorsque vous tentiez de passer à une autre console virtuelle; parfois lors de l'expérimentation des vlccommandes de touches qui fonctionneraient. Tu étais prévenu.


il y a aussi le terme terminologie de l' émulateur qui peut être exécuté sur une console framebuffer ( terminology --nowm). l'utilitaire inclus tycatpeut incorporer des images.
Don Quichotte

Est-ce celui des gens du bureau des «Lumières»? Je l'ai évalué il y a peut-être un an et c'était alors un buggy, mais si vous pouvez en témoigner, tant mieux!
user1404316

je viens de commencer à le regarder et je ne peux pas confirmer l'absence de bugs, désolé. cela fonctionne surtout - ok sur un système (intel gpu), ne fonctionne pas sur un autre (pilote propriétaire nvidia, non testé mais fonctionne probablement sous nouveau). définir des XKB_DEFAULT_{LAYOUT,VARIANT,OPTIONS}variables env pour les mises en page xkb (bien qu'AltGr ne semble pas fonctionner correctement).
Don Quichotte

-6

Aucun. Vous avez besoin d'une sorte de serveur d'affichage pour afficher les images. Xserver, mir, wayland ou similaire fournissent les interfaces pour les images. getty est conçu pour émuler des terminaux texte et n'a pas la possibilité d'afficher des images.


2
Je suis en quelque sorte en désaccord. Comment le Tux serait-il affiché à l'heure du boottime? commons.wikimedia.org/wiki/File:KNOPPIX_booting.png ;-)
lgeorget

Framebuffer. Sans activer la mise en mémoire tampon des images, cela ne peut pas être fait, aurait dû le mentionner. Mais, Ils ont également mentionné être sur un vrai terminal. Oubliant qu'ils ne sont pas sur un vrai terminal, sur un vrai terminal (vt1000) ou similaire, je suis presque certain que ce n'est pas possible.
Livinglifeback

De nombreux terminaux réels ont la possibilité de dessiner des graphiques. La capacité graphique était un argument de vente dans les années 1980. Et gettyn'émule rien.
JdeBP
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.