🏴‍☠️
Сашка ☕
Blog  Tags  💀 🔵 🔴

Портативный ImageMagick в Linux

Опубликовано: 17 сентября 2022 г.

ImageMagick

Набор программ для чтения и редактирования файлов множества графических форматов.
Является свободным и кроссплатформенным программным обеспечением. (с) Википедия

Во многих дистрибутивах продукт поставляется из коробки (скорее всего как зависимость), однако у меня в Porteus (основан на Slackware) пакет отсутсвует.

Более чем начинающий пользователь ОС на базе ядра Linux знаком с AppImage.

AppImage - это приложения, которые запускаются в любом месте.

На странице загрузки ImageMagick первым в списке представлен вариант AppImage.
Я даже не могу вспомнить, кто из разработчиков ПО предлагал загрузить их программу в пакете AppImage по умолчанию.

В релизах на странице проекта на GitHub представлены для загрузки исключительно AppImage пакеты.
Даже в двух вариантах, собранных GCC и Clang.

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

Для этого необходимо просто добавить пользовательскую политику безопасности в свой локальный путь, например, ~/.config/ImageMagick/policy.xml и проверьте с помощью этой команды:

./magick -list policy

Использование

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

В случае использования образа AppImage необходимо запускать convert как аргумент.

magick convert

GCC or Clang

Несмотря на то, что я загрузил Clang версию ImageMagick--clang-x86_64.AppImage (7.1.0-48) со страницы GitHub, запуск утилиты с параметром --version говорить мне, что программа собрана GCC.

magick --version
Version: ImageMagick 7.1.0-48 Q16-HDRI x86_64 c1ca24765:20220910 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP(3.1) 
Delegates (built-in): bzlib djvu fontconfig freetype jbig jng jpeg lcms lqr lzma openexr png raqm tiff webp x xml zlib
Compiler: gcc (4.2)

ХЗ почему так, работает и пофиг.

Размеры

AppImage пакет занимает ~27MB, против ~11MB в том же ArchLinux.

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

Use AppImage, Luke ;)