Параметры для отображения изображений, когда на консоли


12

Когда я нахожусь на консоли (tty, виртуальный терминал, к которому вы подключаетесь с помощью Ctrl+ Alt+ F1-6, а не эмулятор терминала), какие опции у меня есть для просмотра изображений, tiff, что бы это не было текстом?


Вы имеете в виду виртуальный терминал, а не эмулятор терминала? unix.stackexchange.com/questions/4126/…
Грэм

@ Grame: да, это так.
Джозеф Шлиссер

см. также: Ворота Один
Струге

Ответы:


9

Вы можете использовать библиотеку от AA-Project

введите описание изображения здесь

Приложения:

  • xine-console [видео]
  • xaos [fractals / mandelbrod]
  • VLC [видео]
  • aview [фотографии]
  • ... амо

7

Прежде всего вы должны убедиться, что кадровый буфер включен, абсолютно нет возможности просматривать изображения в текстовом режиме. Как только у вас включен кадровый буфер, вы можете использовать программу fbiдля просмотра изображений.

Пакет: фби

Средство просмотра изображений буфера кадров Linux

Это просмотрщик изображений для устройств кадрового буфера Linux. Он имеет встроенную поддержку для ряда распространенных форматов файлов изображений. Для неизвестных файлов он пытается использовать конвертирование из пакета ImageMagick в качестве внешнего конвертера. Он также включает в себя fbgs, постскриптум и просмотрщик PDF.


7

Многие изображения цветные, поэтому вы можете использовать программу просмотра изображений libcaca ASCII ( cacaview) и конвертер изображений в текст ( img2iso).

  • Для просмотра изображений используйте браузер изображений ASCII :

    cacaview /usr/share/pixmaps/*.*
    
  • Преобразование изображений в текстовые цветные файлы:

    img2txt -W 150 penguins_mating.png > penguins_mating.txt
    
  • Просмотр фильмов и видео в текстовой консоли:

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

    В большинстве случаев вам не нужна эта опция, -vo cacaесли вы просматриваете видео только в текстовой среде (терминал с ssh-соединением, виртуальный терминал и т. Д.). По умолчанию вы получите неокрашенный текстовый вывод (т.е. -vo aa), но цвет может быть лучше.

Для Fedora и Ubuntu пакет caca-utilsдолжен быть установлен.

Читайте здесь для получения дополнительной информации.

введите описание изображения здесь


2

mplayerимеет драйвер кадрового буфера (2 версии, если одна не работает). использование

mplayer -vo fbdev [or fbdev2] <filename>

Для изображений fbiи fimработы. Независимо от того, с чем эти двое не могут справиться, вы, вероятно, можете конвертировать в изображения на лету ( imagemagickработает как по волшебству), так что у вас есть все.


1

Вы можете использовать устройство кадрового буфера . Механизм кадрового буфера используется для отображения Tux при загрузке.

Существует также libcaca, используемая для отображения изображений в стиле ASCII.


Не могли бы вы добавить больше деталей? Как можно использовать эти инструменты?
Terdon

Это очень сильно зависит от вашего оборудования и ваших потребностей. Вы должны предоставить более подробную информацию в вашем вопросе и дать контекст.
lgeorget

Не мой вопрос Я отмечаю, что, отвечая на вопрос, вы должны указать детали, как это сделать. Вы просто даете две ссылки на внешние источники, чего мы стараемся избегать. Идея состоит в том, что ответы на сайтах SE являются автономными.
Terdon

Конечно, но не существует только одного способа использовать эти инструменты. И в этом вопросе не так много контекста, так что ...
lgeorget

0

ffmpeg может показывать любой формат изображения в полноэкранном режиме:

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

Сегодня есть библиотека, которая называется SVGAlib . Он напрямую обрабатывает видеокарту с драйверами пользовательского пространства (импортированными в основном из X).

Он не имеет драйверов для большинства современных видеокарт, но

  • у него есть драйвер вывода VESA (то есть, по сути, он может обрабатывать вывод с драйверами BIOS)
  • у него есть драйверы fbdev (он работает /dev/fb0как видеокарта, поэтому по сути он использует драйверы ядра).

Существует много программ, использующих SVGALib, например, mplayer (для вывода видео) и отвечающих на ваш вопрос, средство просмотра изображений xzgv .

Хотя вам придется скомпилировать их из исходного кода, так как все разработчики дистрибутивов Linux думают уже около десяти лет, что X (с непрерывными хорошими, никогда не выполняемыми обещаниями, такими как kgi, ggi и today wayland) - это будущее.


0

Этот ответ ограничен встроенными консолями linux, для которых включен кадровый буфер. Эта опция даст вам полное разрешение реальных изображений и реального видео (не ascii-art) без X11или waylandили mir.

Начиная с 2018 года, Debian предлагает пакет, fimкоторый включает в себя средство просмотра изображений fimи средство просмотра документов fimgs. Так fimgsкак по умолчанию установлено разрешение 96х96, что, вероятно, окажется неадекватным. Я считаю, что вызова с опцией -r 256x256достаточно. Эти две программы предназначены для «модернизированных» версий других программ, также доступных в Debian, fbiи fbgs. Особое разочарование в более старой программе fbgsзаключается в том, что она рендерится медленно и будет отображать весь файл PDF перед отображением даже одной страницы, поэтому, если у вас есть многостраничный документ, вы будете ждать долгое время.

Есть несколько программ, не относящихся к работе кадрового буфера, которые имеют прекрасную поддержку кадрового буфера. w3mВеб - браузер будет отображать изображения , когда поддержка пакет w3m-imgустановлен. Средство fehпросмотра изображений работает в консоли буфера кадров, как и vlcдля видео.

Все это очень хорошо, но для того, чтобы использовать любой из этих параметров, вам сначала нужно будет все настроить.

Хорошей новостью является то, что практически все современные дистрибутивы Linux поставляют ядра с доступным кадровым буфером. Что обычно не делается, так это конфигурирование этого кадрового буфера для фактического использования. Для этого, если вы используете grubзагрузчик, вам нужно убедиться, что в вашем файле есть следующее /etc/default/grub(ваш конкретный номер разрешения может отличаться):

  GRUB_GFXMODE=1024x768
  GRUB_GFXPAYLOAD_LINUX=1024x768

И вам нужно убедиться, что следующая строка закомментирована:

  #GRUB_TERMINAL=console

После этого вам нужно будет обновить grub при запуске update-grubи перезагрузить компьютер, чтобы изменения вступили в силу.

Вам также может понадобиться добавить вашего пользователя в группу videoразрешений:

  usermod -a -G video <user_name>

Некоторые программы могут требовать специальных возможностей доступа. Согласно моим заметкам, это так fbi, но я вижу, что в моей системе это не так fim. Пойди разберись. В любом случае команда для этого:

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

Программа, которую я не могу порекомендовать, и с которой были только проблемы, есть fbterm. Он продолжал возиться со своими цветовыми схемами для emacs, mc, lessи других программ, и я помню , что он не будет играть хорошо будет tmux.

Важное замечание об использовании vlcв консоли кадрового буфера: я обнаружил, что иногда, так как я не смог надежно воспроизвести, vlcзависал и не выпускал кадровый буфер, если не считать «alt-sysrq», что заставляло машину перезагружаться. Иногда это происходило при попытке переключиться на другую виртуальную консоль; иногда экспериментируя с тем, какие vlcкоманды нажатия клавиш будут работать. Вы были предупреждены.


есть также термин терминология эмулятора, который можно запустить на консоли кадрового буфера ( terminology --nowm). включенная утилита tycatможет вставлять изображения.
Quixotic

Это кто-то из людей с рабочего стола «просветления»? Я оценил это, может быть, год назад, и тогда это было глючно, но если вы можете поручиться за это, отлично!
user1404316

я только начал смотреть на это и не могу подтвердить отсутствие ошибок, извините. он работает в основном нормально на одной системе (intel gpu), не работает на другой (проприетарный драйвер nvidia, непроверенный, но, вероятно, работает под управлением nouveau). установить XKB_DEFAULT_{LAYOUT,VARIANT,OPTIONS}переменные env для макетов xkb (хотя AltGr, похоже, не работает правильно).
quixotic

-6

Никто. Вам нужен какой-то сервер отображения для отображения изображений. Xserver, mir, wayland или аналогичные предоставляют интерфейсы для изображений. getty предназначен для эмуляции текстовых терминалов и не имеет возможности отображать изображения.


2
Я вроде не согласен. Как Tux будет отображаться во время загрузки? commons.wikimedia.org/wiki/File:KNOPPIX_booting.png ;-)
lgeorget

Кадровый буфер. Без включения буферизации кадров это нельзя сделать, следовало бы упомянуть об этом. Но они также упомянули, что находятся на реальном терминале. Забыв, что они не на реальном терминале, на реальном терминале (vt1000) или подобном, я вполне уверен, что это невозможно.
Livinglifeback

Многие реальные терминалы имеют возможность рисовать графику. Графика была популярной в 1980-х годах. И gettyничего не подражает.
JdeBP
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.