Какая конфигурация необходима для рендеринга изображений в терминале? [dубликат]

Это быстрый макет, который я копирую и склеиваю вместе. Я думаю, что это супер круто и полезно.

Уже есть что-то вроде этого?

113
задан 6 June 2017 в 08:59

22 ответа

Я написал инструмент для этого. Я назвал мой Show Image In Terminal (siit). Предполагается, что у вас есть 256-цветный терминал и поддержка UTF8, и он написан на Perl.

Я бросил его в свой ~/bin. Предполагается, что у вас есть Image :: Magick, Term :: Size, Getopt :: Long и Time: HiRes, которые должны быть доступны в репозиториях вашего дистрибутива или CPAN.

Мое намерение состояло в том, чтобы ssh в мой дом и быстро просмотрел изображения без запуска отображения над X. Скрипт масштабируется до соответствующей ширины / высоты для терминала, в котором вы находитесь. Я использовал символы UTF8 для эффективного удвоения вертикали разрешение вашего терминала, что действительно помогает ясности. YMMV.

Примеры снимков здесь

Примеры снимков здесь

6
ответ дан 17 July 2018 в 17:41

Это не существует; gnome-terminal способен обрабатывать текст, по крайней мере, насколько мне известно.

Однако вы можете вызвать средство просмотра изображений из командной строки, чтобы увидеть ваши фотографии в определенной папке. Итак, выйдя из вашего макета, показывая вам список всех изображений .jpg в текущей папке, вы можете использовать Eye of GNOME (просмотрщик изображений по умолчанию Ubuntu) из командной строки для чего-то подобного:

eog *.jpg &

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

8
ответ дан 17 July 2018 в 17:41

Ниже приведены некоторые решения в node.js (здесь приведены инструкции по установке).

Изображение с изображениями

Чтобы установить либо, введите npm install -g <package_name>, где package_name является либо из picture-tube или imaging.

3
ответ дан 17 July 2018 в 17:41

Другая альтернатива - терминология:

https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg

Вы можете установить ее на Ubuntu, добавив https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg репозиторий:

sudo add-apt-repository ppa:enlightenment-git/ppa sudo apt-get update && sudo apt-get install terminology

Или в последних выпусках Ubuntu> = Vivid (15.04) it может быть извлечен из официальных репозиториев.

sudo apt-get install terminology

Чтобы просмотреть изображение, введите tycat IMAGENAME и просмотрите список изображений, введите tyls -m.

18
ответ дан 17 July 2018 в 17:41

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

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 цветов. Это означает, что изображение может выглядеть лучше, если рассматривать его самостоятельно. (Смотри ниже).

UPDATE

Хотя мой предыдущий ответ по-прежнему верен, я создал еще лучший сценарий оболочки, способный делать «ls» изображений непосредственно в терминал. Есть всевозможные улучшения, которые я добавил, чтобы изображения выглядели лучше (больше цветов, правильная альфа, ориентация JPEG, обработка большого количества изображений, компактная компоновка плитки, ...). Это по-прежнему довольно небольшая программа, но я решил, что люди могут ее настроить, поэтому я поставил ее на github: https://github.com/hackerb9/lsix.

18
ответ дан 17 July 2018 в 17:41

Вы не можете сделать это в окне терминала, но вы можете сделать это на консоли Linux, используя fbi. Для этого вам понадобится фреймбуфер:

sudo apt-get install fbi

Перейдите на консоль Linux (с помощью Control-Alt-F1) и введите fbi <filename>

Он должен показать ваше изображение .

30
ответ дан 17 July 2018 в 17:41
[D0] 1. w3m

В то время как основная цель 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.

2. Терминология

tycat является частью terminology и отображает такие изображения, как cat, отображает текстовые файлы и, как imgcat, работает для iTerm2 в OS X.

3. libsixel + mlterm / xterm

Установите libsixel-bin и любой совместимый терминал (примеры, упомянутые в imgcat , например mlterm или xterm, скомпилированные с правильными флагами и вы можете просматривать изображения с помощью команды img2sixel. Оба эти пакета доступны в репозиториях Ubuntu.

4. FIM

Тогда есть FIM, который является улучшенной версией fbi ]. На главной странице указано, что она может отображать изображения не только с фреймбуфером, но и с X. Однако он не будет меня устанавливать. Редактирование. Я получил его, загрузив версию 0.5 trunk, выполнив ./configure --disable-exif, а затем временно удалив anaconda (дистрибутив python) из моего пути, поскольку он вызвал конфликт с libpng перед запуском make и sudo checkinstall (вам нужно записать номер версии вручную с помощью checkinstall, но это облегчает удалите, чем make install). Однако изображения все еще отображаются в отдельном окне, хотя, как и в случае с fbi, вам не нужно запускать X, который является классным.

5. jupyter-qtconsole

Вы могли бы также создайте объявление и используйте jupyter-qtconsole в качестве вашей системной консоли, настройте его для отображения графиков inline (%matplotlib inline), а затем FIM =)

6. feh

feh использует X для отображения изображений, но feh -x всплывает в окне без полей, которое можно быстро закрыть с помощью q или x. Хотя изображения не отображаются в терминале для каждого сообщения, я думал, что это стоит упомянуть, поскольку это наименее интрузивный способ, который я нашел до сих пор, и то, что я использую, пока gnome-terminal не получит эквивалент imgcat / tycat. [ ! d17]

25
ответ дан 17 July 2018 в 17:41

На самом деле есть такой проект под названием TermKit, если вы хотите его протестировать - посмотрите http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/ но это совершенно незаконченный (поскольку у вас, похоже, есть Mac, вы должны попробовать Mac-версию, так как это «оригинал»)

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

12
ответ дан 17 July 2018 в 17:41

Еще один инструмент - catimg, хотя для Ubuntu нет готового пакета. Он фактически не просматривает изображение, а превращает его в цветные символы.

catimg

1
ответ дан 17 July 2018 в 17:41

Я написал небольшой инструмент 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)>

Изменить: Измененные ссылки / инструкции в основной репозиторий; добавлено использование

Примеры:

https://github.com/stefanhaustein/TerminalImageViewer

24
ответ дан 17 July 2018 в 17:41

В дополнение к ответу Джоэля менеджер файлов терминалов Ranger с расширением w3mimgdisplay может отображать изображения в полном цвете, а также поддерживает «превью для старых школьных ASCII-проектов». Вот как вы можете включить его. Это может быть не то, что вы искали, а способ предварительного просмотра изображений в терминале.

Ответ Джоэля

3
ответ дан 17 July 2018 в 17:41

Я написал инструмент для этого. Я назвал мой Show Image In Terminal (siit). Предполагается, что у вас есть 256-цветный терминал и поддержка UTF8, и он написан на Perl.

Я бросил его в свой ~/bin. Предполагается, что у вас есть Image :: Magick, Term :: Size, Getopt :: Long и Time: HiRes, которые должны быть доступны в репозиториях вашего дистрибутива или CPAN.

Мое намерение состояло в том, чтобы ssh в мой дом и быстро просмотрел изображения без запуска отображения над X. Скрипт масштабируется до соответствующей ширины / высоты для терминала, в котором вы находитесь. Я использовал символы UTF8 для эффективного удвоения вертикали разрешение вашего терминала, что действительно помогает ясности. YMMV.

Примеры снимков здесь

Примеры снимков здесь

6
ответ дан 23 July 2018 в 18:33
  • 1
    Это "siit", а не "shit" (шутки в сторону....) – Star OS 24 September 2015 в 10:40
  • 2
    Первоначально он назывался termpeg, но это слишком сложно запомнить и не хорошо заполнить. Кроме того, «этот код является частью siit», даже не имеет смысла. – Tom 21 February 2016 в 22:20
  • 3
    Ссылка на исходный код не работает для меня, но я нашел версию в Интернете, вот зеркало: gist.github.com/certik/4336299de10f400ee49943bd9f8a8ba6 – Ondřej Čertík 2 July 2016 в 06:05

Это не существует; gnome-terminal способен обрабатывать текст, по крайней мере, насколько мне известно.

Однако вы можете вызвать средство просмотра изображений из командной строки, чтобы увидеть ваши фотографии в определенной папке. Итак, выйдя из вашего макета, показывая вам список всех изображений .jpg в текущей папке, вы можете использовать Eye of GNOME (просмотрщик изображений по умолчанию Ubuntu) из командной строки для чего-то подобного:

eog *.jpg &

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

8
ответ дан 23 July 2018 в 18:33
  • 1
    если работает от терминала, eog *.jpg & disown лучше, так как иначе EOG, скорее всего, выйдет, когда терминал закроется. [D0] N.B. Я хочу, чтобы EOG по-прежнему оставался Ubuntu defualt image viewer - shotwell - это хорошо, но пытается индексировать мои 30GB + изображений .... и медленно и раздражает в любом случае – Wilf 19 July 2014 в 02:13

Ниже приведены некоторые решения в node.js (здесь приведены инструкции по установке).

Изображение с изображениями

Чтобы установить либо, введите npm install -g <package_name>, где package_name является либо из picture-tube или imaging.

3
ответ дан 23 July 2018 в 18:33

Другая альтернатива - терминология:

https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg

Вы можете установить ее на Ubuntu, добавив https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg репозиторий:

sudo add-apt-repository ppa:enlightenment-git/ppa sudo apt-get update && sudo apt-get install terminology

Или в последних выпусках Ubuntu> = Vivid (15.04) it может быть извлечен из официальных репозиториев.

sudo apt-get install terminology

Чтобы просмотреть изображение, введите tycat IMAGENAME и просмотрите список изображений, введите tyls -m.

18
ответ дан 23 July 2018 в 18:33
  • 1
    Очень полезно - команда caca-utils, которая должна отображать изображения, встроенные в терминал, - img2txt – Wilf 19 July 2014 в 02:02
  • 2
    tycat для отображения встроенного изображения и tyls -m для отображения миниатюр среднего размера в каталоге. – Joel Ostblom 15 November 2015 в 01:01
  • 3
    sudo add-apt-repository ppa: hannes-janetzek / просвещение-svn does not Work – Gucho Ca 20 January 2016 в 04:48
  • 4
    Я обновил ответ, чтобы указать на более позднее просветление ppa – Javier López 20 January 2016 в 05:54
  • 5
    @chilicuil terminology является в официальных репозиториях Ubuntu , не требуется PPA. – cat 20 January 2016 в 09:48
  • 6
    @cat первоначальный ответ был написан до того, как был выпущен яркий, и в то время терминология не была доступна, у просветления ppa все еще есть точные / надежные пакеты и более современные версии терминов. Однако, возможно, редактирование ответа, чтобы указать, чем замороженные версии терминов доступны в последних выпусках ubuntu, будет полезно. – Javier López 20 January 2016 в 09:52
  • 7
    Теперь на поле появился новый игрок: github.com/ichinaski/pxl --- В быстрой проверке картинки выглядят лучше, чем в какаве. (Я хотел добавить новый ответ, но сайт не позволял мне (?)) – user569825 25 June 2016 в 13:18
  • 8
    & quot; смотреть видео как ASCII & quot; Но почему? – Derek 朕會功夫 21 July 2017 в 03:59
  • 9
    это открывает другое окно. ОП запросил терминал. Думаю, вы должны предложить img2txt. – Blauhirn 14 October 2017 в 22:30
  • 10
    Это зависит от вашей среды. В терминале, отличном от X, он открывается, как ожидалось. В X также есть решение. Я полагаю, это может зависеть от используемого терминала или его размеров. – user569825 30 October 2017 в 12:49

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

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 цветов. Это означает, что изображение может выглядеть лучше, если рассматривать его самостоятельно. (Смотри ниже).

UPDATE

Хотя мой предыдущий ответ по-прежнему верен, я создал еще лучший сценарий оболочки, способный делать «ls» изображений непосредственно в терминал. Есть всевозможные улучшения, которые я добавил, чтобы изображения выглядели лучше (больше цветов, правильная альфа, ориентация JPEG, обработка большого количества изображений, компактная компоновка плитки, ...). Это по-прежнему довольно небольшая программа, но я решил, что люди могут ее настроить, поэтому я поставил ее на github: https://github.com/hackerb9/lsix.

18
ответ дан 23 July 2018 в 18:33

Вы не можете сделать это в окне терминала, но вы можете сделать это на консоли Linux, используя fbi. Для этого вам понадобится фреймбуфер:

sudo apt-get install fbi

Перейдите на консоль Linux (с помощью Control-Alt-F1) и введите fbi <filename>

Он должен показать ваше изображение .

30
ответ дан 23 July 2018 в 18:33
  • 1
    Что вы подразумеваете под термином "terminal" vs "tty"? Разве они не то же самое? [D0] askubuntu.com/questions/506510/&hellip – Wernight 10 July 2015 в 16:11
  • 2
    Не работал для меня. Но "кака" инструмент работал. используя «DejaVu Sans Mono-16», pixelsize = 16.67 file = / usr / share / fonts / truetype / dejavu / DejaVuSansMono.ttf ioctl VT_GETSTATE: несоответствующий ioctl для устройства (а не консоль Linux)? – Felipe 10 November 2015 в 02:06
  • 3
    @Wernight Ctrl + Alt + F1 / F2 / F3 дает вам tty под ubuntu (Ctrl + Alt + F8 для возврата). – Joel Ostblom 15 November 2015 в 02:31
  • 4
    Существует также FIM , который является улучшенной версией fbi. На домашней странице указано, что он может отображать изображения не только с фреймбуфером, но и с X. Однако он не будет установлен для меня. – Joel Ostblom 15 November 2015 в 02:32
  • 5
    Хорошие новости iTerm2 v3 может показывать образы встроенной проверки iterm2.com/images.html – A B 21 January 2016 в 02:01
[D0] 1. w3m

В то время как основная цель 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.

2. Терминология

tycat является частью terminology и отображает такие изображения, как cat, отображает текстовые файлы и, как imgcat, работает для iTerm2 в OS X.

3. libsixel + mlterm / xterm

Установите libsixel-bin и любой совместимый терминал (примеры, упомянутые в imgcat , например mlterm или xterm, скомпилированные с правильными флагами и вы можете просматривать изображения с помощью команды img2sixel. Оба эти пакета доступны в репозиториях Ubuntu.

4. FIM

Тогда есть FIM, который является улучшенной версией fbi ]. На главной странице указано, что она может отображать изображения не только с фреймбуфером, но и с X. Однако он не будет меня устанавливать. Редактирование. Я получил его, загрузив версию 0.5 trunk, выполнив ./configure --disable-exif, а затем временно удалив anaconda (дистрибутив python) из моего пути, поскольку он вызвал конфликт с libpng перед запуском make и sudo checkinstall (вам нужно записать номер версии вручную с помощью checkinstall, но это облегчает удалите, чем make install). Однако изображения все еще отображаются в отдельном окне, хотя, как и в случае с fbi, вам не нужно запускать X, который является классным.

5. jupyter-qtconsole

Вы могли бы также создайте объявление и используйте jupyter-qtconsole в качестве вашей системной консоли, настройте его для отображения графиков inline (%matplotlib inline), а затем FIM =)

6. feh

feh использует X для отображения изображений, но feh -x всплывает в окне без полей, которое можно быстро закрыть с помощью q или x. Хотя изображения не отображаются в терминале для каждого сообщения, я думал, что это стоит упомянуть, поскольку это наименее интрузивный способ, который я нашел до сих пор, и то, что я использую, пока gnome-terminal не получит эквивалент imgcat / tycat. [ ! d17]

26
ответ дан 23 July 2018 в 18:33
  • 1
    w3m использует caca-utils, поэтому было бы лучше просто использовать его напрямую (cacaview e.jpg) – user1133275 7 August 2017 в 21:11

На самом деле есть такой проект под названием TermKit, если вы хотите его протестировать - посмотрите http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/ но это совершенно незаконченный (поскольку у вас, похоже, есть Mac, вы должны попробовать Mac-версию, так как это «оригинал»)

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

12
ответ дан 23 July 2018 в 18:33
  • 1
    Я читал об этом проекте раньше, чем Slashdot . Звучит интригующе! Слишком плохо, что вам нужен Google Chrome, чтобы использовать его ... ну, ладно, неплохо, если вы используете Chrome для начала, но это похоже на ненужную зависимость. – Christopher Kyle Horton 22 January 2012 в 16:58
  • 2
    @ WarriorIng64 Да, я мог бы работать, если вы немного взломали WebKit Qt, но, к счастью, у нас есть chromium-browser в репозиториях, так что довольно легко установить что-то Chromelike - я на самом деле не пробовал TermKit на своем компьютере ( w / Chromium, но используя Fx как основной), так как я полностью зависим от Vim и не могу использовать терминал, который не даст мне мой любимый текстовый редактор;) – sakjur 22 January 2012 в 17:01

Еще один инструмент - catimg, хотя для Ubuntu нет готового пакета. Он фактически не просматривает изображение, а превращает его в цветные символы.

catimg

1
ответ дан 23 July 2018 в 18:33

Я написал небольшой инструмент 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)>

Изменить: Измененные ссылки / инструкции в основной репозиторий; добавлено использование

Примеры:

https://github.com/stefanhaustein/TerminalImageViewer

24
ответ дан 23 July 2018 в 18:33
  • 1
    Это выглядит очень хорошо! Но это Java или C ++? – Andrea Lazzarotto 10 July 2017 в 01:45
  • 2
    Раньше это была Java, но потребность в JVM для этой простой задачи раздражала меня, поэтому я портировал ее на C ++ (скриншоты все еще показывают java-команду) – Stefan Haustein 10 July 2017 в 01:52
  • 3
    Лучше, чем какавель! – Piotr Dabkowski 5 August 2017 в 20:10
  • 4
    Это потрясающий инструмент. Определенно медленнее, но намного лучше, чем кака. Есть ли потери качества при использовании «256-битного режима»? (поскольку я должен, нормальный режим перепутался) – Blauhirn 14 October 2017 в 22:53
  • 5
    Очень хорошие результаты! Благодаря ! Очень полезно с ssh, когда нет сервера x! – Arnaud De Broissia 21 June 2018 в 12:52

В дополнение к ответу Джоэля менеджер файлов терминалов Ranger с расширением w3mimgdisplay может отображать изображения в полном цвете, а также поддерживает «превью для старых школьных ASCII-проектов». Вот как вы можете включить его. Это может быть не то, что вы искали, а способ предварительного просмотра изображений в терминале.

Ответ Джоэля

3
ответ дан 23 July 2018 в 18:33

Другие вопросы по тегам:

Похожие вопросы: