Это быстрый макет, который я скопировал и вставил вместе. Я представляю, что это очень круто и полезно.
Что-то подобное уже существует?
Это быстрый макет, который я скопировал и вставил вместе. Я представляю, что это очень круто и полезно.
Что-то подобное уже существует?
Ответы:
Обновление 2018-12-31
В универсальном терминальном эмуляторе терминала есть icat
команда для отображения изображений (не работает в tmux). Китти также включает предварительный просмотр изображений в Ranger (файловый менеджер терминала), который я сейчас использую чаще всего (работает в tmux).
Хотя основная цель w3m
заключается в обеспечении просмотра веб-страниц в консоли, его также можно использовать для просмотра изображений в терминале. Соответствующие пакеты для установки есть w3m
и w3m-img
(по крайней мере в Ubuntu). Затем вам нужно отключить внешний просмотрщик изображений, пройдя -o ext_image_viewer=0
или войдя в меню параметров ('o') внутри, w3m
и отключить просмотр внешнего изображения.
Теперь, набрав текст w3m <image_name>
будет отображаться в терминале. w3m
будет использовать все окно терминала, поэтому вы не сможете увидеть свои предыдущие команды, пока не выйдете w3m
(подумайте less
, нет cat
). Обратите внимание, что если изображение слишком велико, чтобы соответствовать окну терминала, оно все равно будет открыто снаружи (в imagemagick для меня). Также обратите внимание, что хотя я читаю несколько мест, для которых w3m
встроенные изображения не будут работать gnome-terminal
, для меня это работает нормально. Немного раздражает, что вам приходится печатать q
дважды, чтобы сначала закрыть изображение, а затем w3m
.
tycat
является частью terminology
и отображает изображения, такие как cat
текстовые файлы и подобные imgcat
работы для iTerm2 на OS X.
Установите libsixel-bin
и любой совместимый терминал (примеры, упомянутые в разделе «Требования» данного файла readme , например, mlterm
или xterm
скомпилированный с правильными флагами, и вы можете просматривать изображения с помощью img2sixel
команды. Оба этих пакета доступны в репозиториях Ubuntu.
Тогда есть FIM, который является улучшенной версией fbi
. На домашней странице утверждается, что она может отображать изображения не только с помощью кадрового буфера, но и с X. Однако она не будет установлена для меня. Редактирование Я запустил его, загрузив версию магистрали версии 0.5, запустив ./configure --disable-exif
и затем временно удалив anaconda
(дистрибутив python) из моего пути, поскольку это вызвало конфликт libpng
перед запуском make
и sudo checkinstall
(вам нужно записать номер версии вручную с помощью checkinstall
, но это облегчает удалить чем make install
). Тем не менее, изображения по-прежнему отображаются в отдельном окне, хотя, как и у fbi
вас, не нужно запускать X, что довольно круто.
Вы также можете проявить творческий подход и использовать jupyter-qtconsole в качестве системной консоли, настроить его так, чтобы он отображал графики inline ( %matplotlib inline
), а затем отображать изображение с помощью matplotlib =)
feh
использует X для отображения изображений, но feh -x
выдает их в окне без полей, которое можно быстро закрыть с помощью q
или x
. Хотя изображения не отображаются в терминале, скажем так, я подумал, что стоит упомянуть, поскольку это наименее навязчивый способ, который я нашел до сих пор, и то, что я использую, пока не gnome-terminal
получит imgcat
/ tycat
эквивалент.
Может быть, кака это то, что вы хотите. Для изображений :
sudo apt-get install caca-utils
cacaview /PATH/TO/image.jpg
Убедитесь, что окно вашего терминала достаточно большое.
Например, вот как это изображение отображается в cacaview
:
Я иногда использовал это для развлечения, чтобы посмотреть видео в формате ASCII в mplayer :) Вот так:
mplayer -vo caca /PATH/TO/video.mpg
img2txt
"watch videos as ASCII" But... why?
потому что ты хочешь? потому что вам нужно посмотреть видео, и единственное, что у вас есть, это терминал? Потому что если вам что-то не нужно, это не значит, что другие следуют за вами.
mpv
имеет вывод tct, который (при использовании с --quiet
) отображает мультимедиа в терминале с сопоставимым качеством pxl
.
Я написал небольшой инструмент C ++ для преобразования изображений в управляющие коды ANSI RGB и графические символы блока Unicode для современных терминалов, поддерживающих эти функции: https://github.com/stefanhaustein/TerminalImageViewer
Монтаж:
git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src/main/cpp
make
sudo make install
Использование:
tiv <image(s)>
Изменить : Изменены ссылки / инструкции в основном хранилище; добавленное использование.
Примеры:
Я сделал очень быструю, простую однострочную функцию оболочки, которая решает исходный вопрос в точности так, как было запрошено в макетах. Обратите внимание, что скриншоты ниже - это реальные изображения, а не макеты.
function lsix() { montage -tile 7x1 -label %f -background black -fill white "$@" gif:- | convert - -colors 16 sixel:-; }
Предварительные условия минимальны: xterm и ImageMagick ( apt-get install xterm imagemagick
). Ваш xterm должен быть в режиме vt340, который вы можете установить в ~/.Xresources
командной строке или из командной строки ( xterm -ti vt340
).
Ограничения: Только 16 цветов используются на всех показанных изображениях. Это означает, что изображение может выглядеть лучше при просмотре самостоятельно. (Смотри ниже).
ОБНОВИТЬ
Хотя мой приведенный выше ответ по-прежнему верен, я создал еще лучший сценарий оболочки, который может делать 'ls' изображений непосредственно в терминале. Для того чтобы изображения выглядели лучше, были добавлены всевозможные улучшения (больше цветов, правильная альфа, ориентация JPEG, обработка большого количества изображений, компактная разметка листов, ...). Это все еще довольно маленькая программа, но я подумал, что люди могут захотеть настроить ее, поэтому я разместил ее на github: https://github.com/hackerb9/lsix .
Вы не можете сделать это в окне терминала, но вы можете сделать это в консоли Linux, используя fbi
. Вам нужен фреймбуфер, чтобы это работало:
sudo apt-get install fbi
Перейдите в консоль Linux (используя Ctrl+ Alt+ F1) и введитеfbi <filename>
Это должно показать ваше изображение.
fbi
. На домашней странице утверждается, что она может отображать изображения не только с помощью кадрового буфера, но и с X. Однако она не будет установлена для меня.
Другой альтернативой является терминология:
https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg
Вы можете установить его в Ubuntu, добавив репозиторий просветления-git :
sudo add-apt-repository ppa:enlightenment-git/ppa
sudo apt-get update && sudo apt-get install terminology
Или в последних выпусках Ubuntu> = Vivid (15.04) его можно получить из официальных репозиториев.
sudo apt-get install terminology
Чтобы просмотреть изображение, введите tycat IMAGENAME
и просмотрите список изображений, введите tyls -m
.
tycat
для отображения встроенного изображения и tyls -m
для отображения миниатюр средних размеров в каталоге.
terminology
находится в официальных репозиториях Ubuntu , PPA не требуется.
На самом деле есть такой проект под названием TermKit , если вы хотите его протестировать - посмотрите http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/, но это довольно незавершенный (так как у вас, кажется, есть Mac, вы должны попробовать Mac-версию, так как она «оригинальная»)
Так что да, эту идею стоит изучить, однако переключение между графическим и текстовым режимами должно быть быстрым, поскольку мне не всегда нужны просматриваемые изображения. Кроме того - он должен быть полностью совместим, например, с Vim.
chromium-browser
репозитории, так что довольно просто установить что-то Chrome-подобное - я на самом деле не пробовал TermKit на своем компьютере (с Chromium установлен, но использую Fx в качестве основного), поскольку я весьма зависим от Vim и не могу использовать терминал, который не даст мне мой любимый текстовый редактор;)
Этого не существует; gnome-terminal
способен только на воспроизведение текста, по крайней мере, насколько я знаю.
Однако вы можете вызвать программу просмотра изображений из командной строки, чтобы увидеть ваши изображения в определенной папке. Итак, выйдя из макета выше и показывая список всех изображений .jpg в текущей папке, вы можете использовать Eye of GNOME (средство просмотра изображений по умолчанию в Ubuntu) из командной строки для чего-то похожего:
eog *.jpg &
Обратите внимание, что в открывшемся окне будет отображаться только одно изображение за раз, хотя вы можете использовать предоставленные кнопки со стрелками для переключения между ними.
eog *.jpg & disown
лучше, так как в противном случае EOG, скорее всего, выйдет, когда терминал закроется. NB Я бы хотел, чтобы EOG все еще оставался непревзойденным средством просмотра изображений в Ubuntu - Shotwell хорош, но пытается проиндексировать мои 30 ГБ + изображений .... и все равно медленно и раздражает
Я написал инструмент для этого. Я назвал мой Показать изображение в терминале ( siit
). Предполагается, что у вас есть терминал с 256 цветами и поддержка UTF8, и написано на Perl.
Я бросил это в мой ~/bin
. Предполагается, что у вас есть Image :: Magick, Term :: Size, Getopt :: Long и Time: HiRes, которые должны быть доступны в репозиториях вашего дистрибутива, или CPAN.
Моим намерением было войти в мой дом по протоколу ssh и быстро просматривать изображения, не запуская дисплей над X. Сценарий масштабируется до соответствующей ширины / высоты для терминала, в котором вы находитесь. Я использовал символы UTF8 для эффективного удвоения вертикального разрешения вашего терминала, что на самом деле помогает ясности. YMMV.
В дополнение к ответу Джоэла , файловый менеджер терминала Ranger с w3mimgdisplay
расширением может отображать изображения в полноцветном режиме, а также поддерживает «oldschool ASCII art previews». Вот как вы можете включить его. Это может быть не та вещь, которую вы искали, а способ предварительного просмотра изображений в терминале.
Другой инструмент - catimg , хотя готового пакета для Ubuntu нет. На самом деле он не просматривает изображение, а превращает его в цветные символы.
Вот некоторые решения в node.js
(Инструкции по установке здесь ).
Чтобы установить либо, введите npm install -g <package_name>
где package_name
либо из picture-tube
или imaging
.
feh
! Я знаю, что это не в терминале, но это делает свою работу.