LinuxRuLinux без лишней теории
Работа с графикой

Curtail: сжатие изображений в Linux в пару кликов

Редакция LinuxRu7 мин чтенияИнструкции

Curtail в Linux сжимает PNG, JPEG, WebP и SVG через удобное окно: перетащили файлы, выбрали режим с потерями или без, получили результат с процентами экономии. Ставится из Flathub командой flatpak install flathub com.github.huluti.Curtail, в Arch и openSUSE Tumbleweed есть в репозиториях.

Curtail: сжатие изображений в Linux в пару кликов
Содержание
  1. Что умеет
  2. Установка
  3. Сжатие
  4. Настройки
  5. Выбор режима
  6. Доступ к файлам
  7. В терминале
  8. Проблемы
  9. Частые вопросы

Что умеет Curtail и зачем он нужен

Curtail это маленькое GTK-приложение, которое уменьшает вес картинок без ручной возни с консолью. Перетащили файлы в окно, получили результат и таблицу: сколько весил файл, сколько стал, сколько процентов сэкономлено. Автор программы Hugo Posnic, код открыт под GPLv3.

Внутри Curtail не изобретает собственный алгоритм, а вызывает проверенные утилиты:

  • PNG: oxipng для сжатия без потерь и pngquant для сжатия с потерями (уменьшение палитры);
  • JPEG: jpegoptim, в том числе с прогрессивной разверткой;
  • WebP: библиотека libwebp;
  • SVG: scour, который вычищает лишнее из векторного кода.

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

Главное окно Curtail с выбором режима сжатия
Стартовый экран: выбор между сжатием с потерями и без потерь

Установка Curtail в Ubuntu, Fedora, Arch и openSUSE

Основной и рекомендованный автором способ: Flatpak с Flathub. На октябрь 2026 года там лежит версия 1.17.0 на GNOME Runtime 51. В штатных репозиториях Debian, Ubuntu и Fedora пакета нет, поэтому для этих систем Flatpak фактически единственный нормальный вариант.

# любой дистрибутив с настроенным Flathub
flatpak install flathub com.github.huluti.Curtail

# запуск из терминала
flatpak run com.github.huluti.Curtail

Если Flatpak ещё не установлен, в Ubuntu и Debian поставьте пакет flatpak и добавьте репозиторий Flathub, в Fedora он подключён по умолчанию. Общие способы установки программ разобраны в статье как установить программу в Linux.

В Arch Linux и openSUSE Tumbleweed Curtail есть в официальных репозиториях, и версия там свежая:

# Arch Linux, Manjaro, EndeavourOS
sudo pacman -S curtail

# openSUSE Tumbleweed
sudo zypper install curtail

В openSUSE Leap 15 лежит очень старая ветка 1.3, её лучше не ставить. Неофициальные PPA и COPR, которые упоминаются в README, поддерживают сторонние люди, проверяйте дату последнего обновления перед подключением.

Обновление Flatpak-версии происходит вместе с остальными приложениями командой flatpak update или через центр приложений.

Как сжать изображения в Curtail

  1. Запустите программу и выберите режим вверху окна: без потерь или с потерями.
  2. Перетащите файлы или целую пачку в окно, либо нажмите кнопку выбора файлов. Можно открыть картинку прямо из файлового менеджера через пункт "Открыть с помощью".
  3. Дождитесь окончания. С версии 1.13 файлы обрабатываются в несколько потоков, а с 1.15 список строится в фоне, так что окно не подвисает даже на сотне файлов.
  4. Посмотрите таблицу результатов: исходный размер, новый и экономия в процентах.
Результаты сжатия в Curtail с размером до и после
После сжатия видны старый и новый размер каждого файла

Для каждого файла в списке есть действия "Открыть изображение" и "Показать в папке", удобно сразу сравнить качество. Если сжатый вариант получился больше оригинала, Curtail его пропускает и честно об этом пишет, исходник остаётся нетронутым. Вернуться на стартовый экран можно стрелкой в заголовке окна.

Настройки Curtail: метаданные, имена файлов и уровни сжатия

Меню настроек открывается из кнопки с тремя полосками в заголовке окна. Параметров немного, и все они влияют на результат.

Меню Curtail с пунктом настроек
Параметры открываются из главного меню приложения

Общие параметры

  • Сохранение метаданных. По умолчанию EXIF, сведения о камере и геотеги удаляются. Это уменьшает размер и защищает приватность, но вместе с EXIF пропадает и флаг поворота снимка.
  • Новый файл или перезапись. Можно сохранять результат рядом с оригиналом, а не поверх него.
  • Префикс или суффикс. Текст, который добавляется к имени нового файла. Выбор между началом и концом имени появился в версиях 1.13-1.14.
  • Тёмная тема подхватывается из системных настроек GNOME или Plasma.
Общие настройки Curtail
Общие настройки: метаданные, новый файл и добавка к имени

Сжатие с потерями

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

Ползунки уровня сжатия PNG и JPEG в Curtail
Уровни сжатия с потерями задаются отдельно для PNG и JPEG

Дополнительно

Уровень оптимизации PNG без потерь: больше цифра, дольше работа, чуть меньше файл. Здесь же включается прогрессивный JPEG, который в браузере проявляется постепенно, а не грузится полосой сверху вниз.

Дополнительные настройки Curtail для PNG и JPEG
Дополнительно: уровень оптимизации PNG и прогрессивный JPEG

С потерями или без: что выбрать под задачу

Универсального ответа нет, всё зависит от типа картинки и того, куда она пойдёт дальше.

ФорматБез потерьС потерямиКогда что брать
PNGoxipng, пиксели не меняютсяpngquant, палитра сокращаетсяСкриншоты для сайта: с потерями. Исходники для дальнейшей правки: без потерь
JPEGjpegoptim перепаковывает без перекодированияjpegoptim пересжимает с заданным качествомФото для архива: без потерь. Фото в блог или мессенджер: с потерями
WebPlossless WebPlossy WebPВеб-страницы, где формат уже поддерживается
SVGscour чистит кодне применяетсяИконки и логотипы

Простое правило: если файл будет редактироваться ещё раз, жмите без потерь. Если это финальная версия для публикации, смело используйте сжатие с потерями и проверьте результат глазами.

Не включайте перезапись оригиналов, пока не прогоните пробную пачку. Сделайте копию папки, сожмите её, сравните пару файлов в просмотрщике вроде qimgv и только потом обрабатывайте основную коллекцию. Вернуть детали в пересжатый JPEG уже нельзя.

Curtail во Flatpak не видит файлы на другом диске

Flatpak-приложения работают в песочнице. Через окно выбора файлов Curtail откроет что угодно благодаря порталу, но при перетаскивании с внешнего диска или из каталога вне домашней папки иногда появляется ошибка записи результата. Решение: выдать доступ к нужному пути.

# дать доступ к разделу с фотографиями
flatpak override --user --filesystem=/mnt/photo com.github.huluti.Curtail

# посмотреть текущие переопределения
flatpak override --user --show com.github.huluti.Curtail

# сбросить всё обратно
flatpak override --user --reset com.github.huluti.Curtail

Графически то же самое делается в Flatseal или в настройках приложений GNOME и Plasma. Подробнее о том, какие права безопасно выдавать, рассказано в материале о разрешениях Flatpak.

Те же утилиты в терминале для пакетной обработки

Когда картинок тысячи или сжатие нужно встроить в скрипт сборки сайта, удобнее вызвать движки Curtail напрямую. Пакеты называются одинаково почти везде: oxipng, pngquant, jpegoptim, webp (в Arch libwebp), scour. Пакет oxipng есть в Arch и Fedora, в Debian и Ubuntu он появился не во всех выпусках.

# PNG без потерь, уровень 4, убрать безопасные для удаления блоки
oxipng -o 4 --strip safe image.png

# PNG с потерями, качество 65-80, перезаписать файл
pngquant --quality=65-80 --ext .png --force image.png

# JPEG: максимум 85 процентов качества, удалить метаданные
jpegoptim --max=85 --strip-all photo.jpg

# перевести PNG в WebP с качеством 80
cwebp -q 80 image.png -o image.webp

# очистить SVG
scour -i logo.svg -o logo.min.svg

Обработать все PNG в каталоге и подкаталогах:

find ./images -name '*.png' -exec oxipng -o 4 --strip safe {} +

Больше примеров с find есть в статье про поиск файлов в Linux.

Частые проблемы и как их обойти

  • Фото после сжатия легло на бок. Вместе с метаданными удалился EXIF-тег ориентации. Включите сохранение метаданных или поверните снимок в просмотрщике до сжатия.
  • Файл почти не уменьшился. Изображение уже было оптимизировано, например, его выгрузил фоторедактор с хорошими настройками. Попробуйте режим с потерями или формат WebP.
  • Скриншот стал полосатым. pngquant слишком сильно урезал палитру на градиентах. Поднимите уровень качества PNG в настройках.
  • Нет нужного формата. AVIF, HEIC и RAW Curtail не обрабатывает. Сначала переведите файл в JPEG или PNG, например, в GIMP или через ImageMagick.
  • Нужна обрезка или подпись. Это уже работа для редактора скриншотов, например Ksnip, а Curtail подключайте последним шагом.
Окно О программе Curtail с версией и лицензией
В окне О программе указаны версия, лицензия GPLv3 и ссылка на проект

Исходный код, список изменений и трекер ошибок лежат в репозитории проекта на GitHub. Интерфейс переведён на русский, перевод обновляется почти в каждом выпуске.

Частые вопросы

Есть ли Curtail в репозиториях Ubuntu?

Нет, в Debian, Ubuntu и Fedora штатного пакета нет. Используйте Flatpak: flatpak install flathub com.github.huluti.Curtail.

Удаляет ли Curtail EXIF и геотеги?

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

Можно ли сжимать сразу папку?

Да, перетащите в окно сразу много файлов. Начиная с версии 1.13 они обрабатываются в несколько потоков.

Перезаписывает ли Curtail оригиналы?

Это зависит от настройки. Можно сохранять результат в новый файл с префиксом или суффиксом в имени, тогда оригинал не меняется.

Чем заменить Curtail в терминале?

Теми же движками: oxipng и pngquant для PNG, jpegoptim для JPEG, cwebp для WebP и scour для SVG.

Документация и источники

Читайте также

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