Библиотека сайта rus-linux.net
Просмотр миниатюр изображений в терминале
Оригинал: How To Display Thumbnail Images In Terminal
Автор: sk
Дата публикации: 2 января 2019 года
Перевод: А. Кривошей
Дата перевода: январь 2020 года
Некоторое время назад мы обсуждали Fim и Viu - приложения командной строки для просмотра изображений в различных форматах. Сегодня я наткнулся на похожую утилиту под названием «lsix». Она похожа на команду «ls» в Unix-подобных системах, но только для изображений. Lsix - это простая утилита командной строки, предназначенная для отображения миниатюр изображений в терминале с использованием графики Sixel. Для тех, кому это интересно, Sixel, сокращение от "six pixels", является типом растрового графического формата. Он используется ImageMagick, поэтому почти все форматы файлов, поддерживаемые imagemagick, будут работать очень хорошо.
Возможности
Что касается возможностей lsix, мы можем выделить следующее:
1. Автоматически определяет, поддерживает ли ваш терминал графику Sixel или нет. Если ваш терминал не поддерживает Sixel, она уведомит вас о ее включении.
2. Автоматически определяет цвет фона терминала. Она использует escape-последовательности терминала, чтобы попытаться выяснить основной и фоновый цвета вашего терминала и четко отобразить миниатюры.
3. Если в каталоге много изображений, обычно больше 21, lsix будет выводить эти изображения по одной строке за раз, поэтому вам не нужно ждать, пока будет созданы все миниатюры.
4. Хорошо работает по SSH, поэтому вы можете без проблем управлять изображениями, хранящимися на вашем удаленном веб-сервере.
5. Поддерживает не растровую графику, такую как.svg, .eps, .pdf, .xcf и т. д.
6. Написана на BASH, поэтому работает практически во всех дистрибутивах Linux.
Установка lsix
Поскольку lsix использует ImageMagick, убедитесь, что вы установили его. Он доступен в репозиториях по умолчанию в большинстве дистрибутивов Linux. Например, в Arch Linux и его вариантах, таких как Antergos, Manjaro Linux, ImageMagick можно установить с помощью команды:
$ sudo pacman -S imagemagick
В Debian, Ubuntu, Linux Mint:
$ sudo apt-get install imagemagick
lsix не требует установки, так как это всего лишь скрипт BASH. Просто скачайте ее и переместите в $PATH. Это просто.
Загрузите последнюю версию lsix со страницы проекта на github. Я собираюсь скачать файл архива lsix с помощью команды:
$ wget https://github.com/hackerb9/lsix/archive/master.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 в моей системе.
Как я уже говорил, lsix - очень простая утилита. У нее нет никаких флагов командной строки или файлов конфигурации. Все, что вам нужно сделать, это просто передать путь к вашему файлу в качестве аргумента, как показано ниже.
$ lsix ostechnix/logo.png
Если вы запустите утилиту без пути, она отобразит миниатюры изображений в вашем текущем рабочем каталоге. У меня есть несколько файлов в каталоге с именем ostechnix.
$ lsix
Видите? Миниатюры всех файлов отображаются в терминале.
Если вы используете команду «ls», вы увидите только имена файлов, а не миниатюры.
Вы также можете отобразить определенное изображение или группу изображений определенного типа, используя подстановочные символы.
Например, чтобы отобразить одно изображение, просто укажите полный путь к изображению, как показано ниже.
$ lsix girl.jpg
Чтобы отобразить все изображения определенного типа, например PNG, используйте подстановочный знак, как показано ниже.
$ lsix *.png
Для изображений типа JPEG команда будет такой:
$ lsix *jpg
Качество миниатюр на удивление хорошее. Я думал, что lsix просто отобразит расплывчатые миниатюры. Я ошибался. Миниатюры видны хорошо, как и в графических средствах просмотра изображений.
И это все на данный момент. Как видите, lsix очень похожа на команду «ls», но она предназначена только для отображения миниатюр. Если вы имеете дело с большим количеством изображений, lsix может оказаться весьма полезной.