Как отобразить миниатюры изображений в терминале
Некоторое время назад мы обсуждали 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