Поиск по сайту:

Как отобразить миниатюры изображений в терминале

Некоторое время назад мы обсуждали Fim и Viu — приложения для просмотра изображений CLI, используемые для отображения различных типов изображений, таких как bmp, gif, jpeg, png и т. д. , из командной строки. Сегодня я наткнулся на аналогичную утилиту под названием 'lsix'. Это похоже на команду «ls» в Unix-подобных системах, но только для изображений. lsix — это простая утилита CLI, предназначенная для отображения миниатюр изображений в терминале с использованием графики Sixel. Для тех, кому интересно: Sixel, сокращение от шесть пикселей, представляет собой тип формата растровой графики. Он использует ImageMagick, поэтому почти все форматы файлов, поддерживаемые imagemagick, будут работать нормально.

Функции

Что касается особенностей lsix, то можно перечислить следующее:

  • Автоматически определяет, поддерживает ли ваш терминал графику Sixel или нет. Если ваш терминал не поддерживает Sixel, он уведомит вас о необходимости его включения.
  • Автоматически определяет цвет фона терминала. Он использует escape-последовательности терминала, чтобы попытаться определить цвета переднего плана и фона вашего приложения Терминала, и четко отображает миниатюры.
  • Если в каталоге больше изображений, обычно >21, lsix будет отображать эти изображения по одной строке, поэтому вам не нужно ждать, пока будет создан весь монтаж.
  • Хорошо работает через SSH, поэтому вы можете без особых хлопот манипулировать изображениями, хранящимися на удаленном веб-сервере.
  • Он поддерживает нерастровую графику, такую как .svg, .eps, .pdf, .xcf и т. д.
  • Написан на BASH, поэтому работает практически на всех дистрибутивах Linux.

Установите lsix в Linux

Поскольку lsix использует ImageMagick, убедитесь, что вы его установили.

ImageMagick доступен в репозиториях по умолчанию большинства дистрибутивов Linux. Например, в Arch Linux и его вариантах, таких как Antergos, Manjaro Linux, ImageMagick можно установить с помощью команды:

sudo pacman -S imagemagick

В Debian, Ubuntu, Linux Mint:

sudo apt-get install imagemagick

lsix не требует установки, поскольку это всего лишь сценарий BASH. Просто загрузите его и переместите на свой путь `. Это так просто.

Загрузите последнюю версию lsix со страницы проекта на github. Я собираюсь загрузить архивный файл lsix с помощью команды:

wget https://github.com/hackerb9/lsix/archive/master.zip

Распакуйте загруженный zip-файл:

unzip master.zip

Эта команда извлечет все содержимое в папку с именем «lsix-master». Скопируйте двоичный файл lsix из этого каталога в вашу переменную PATH `, например /usr/local/bin/.

sudo cp lsix-master/lsix /usr/local/bin/

Наконец, создайте исполняемый двоичный файл lsbix:

sudo chmod +x /usr/local/bin/lsix

Вот и все. Теперь самое время отобразить миниатюры в самом терминале.

Прежде чем начать использовать lsix, убедитесь, что ваш терминал поддерживает графику Sixel.

Разработчик разработал lsix на Xterm в режиме эмуляции vt340. Однако он утверждает, что lsix должен работать на любом терминале, совместимом с Sixel.

Xterm поддерживает графику Sixel, но по умолчанию она отключена.

Вы можете запустить Xterm с включенным режимом Sixel с помощью команды (из другого терминала):

xterm -ti vt340

Альтернативно вы можете сделать vt340 типом терминала по умолчанию для Xterm, как описано ниже.

Отредактируйте файл .Xresources (если он недоступен, просто создайте его):

vi .Xresources

Добавьте следующую строку:

xterm*decTerminalID    :   vt340

Нажмите ESC и введите :wq, чтобы сохранить и закрыть файл.

Наконец, выполните следующую команду, чтобы применить изменения:

xrdb -merge .Xresources

Теперь Xterm будет запускаться с включенным режимом Sixel при каждом запуске по умолчанию.

Отображение миниатюр изображений в терминале

Запустите Xterm (не забудьте запустить его в режиме vt340). Вот как Xterm выглядит в моей системе.

окно xterm

Как я уже говорил, lsix — очень простая утилита. У него нет флагов командной строки или файлов конфигурации. Все, что вам нужно сделать, это просто передать путь к вашему файлу в качестве аргумента, как показано ниже.

lsix ostechnix/logo.png

Отобразить миниатюру с помощью lsix

Если вы запустите его без указания пути, он отобразит миниатюры изображений в вашем текущем рабочем каталоге. У меня есть несколько файлов в каталоге с именем ostechnix.

Чтобы отобразить миниатюры в этом каталоге, просто запустите:

lsix

Отображать миниатюры изображений с помощью lsix

Видеть? Миниатюры всех файлов отображаются в самом терминале.

Если вы используете команду 'ls', вы увидите только имена файлов, а не миниатюры.

вывод команды ls

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

Например, чтобы отобразить одно изображение, просто укажите полный путь к изображению, как показано ниже.

lsix girl.jpg

Отобразить одно миниатюрное изображение

Чтобы отобразить все изображения определенного типа, например PNG, используйте подстановочный знак, как показано ниже.

lsix *.png

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

Для изображений типа JPEG команда будет такой:

lsix *.jpg

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

И это все на данный момент. Как видите, lsix очень похожа на команду «ls», но предназначена только для отображения миниатюр. Если на работе вы имеете дело с большим количеством изображений, lsix может оказаться весьма полезным.

Попробуйте и сообщите нам свои мысли об этой утилите в разделе комментариев ниже. Если вы знаете какие-либо подобные инструменты, предложите их. Я проверю и обновлю это руководство.

Ресурс:

  • Репозиторий lsix на GitHub

Статьи по данной тематике