Как установить уровень сжатия 7z с помощью графического интерфейса в Ubuntu?

Менеджер архива, или file-roller, кажется, не имеет возможности установить уровень сжатия для 7z файлы.

введите описание здесь

Тем не менее, клиент Windows 7-Zip имеет возможность сделать это с помощью графического интерфейса -

введите описание здесь

В Ubuntu/Linux можно установить уровень сжатия в командной строке (CLI), используя -m флаг. Подробнее см. В этом ответе.

Есть ли какое-либо положение для установки уровня сжатия для 7z архивы с использованием графического интерфейса в Ubuntu?

1 ответ

Решение

Моя идея заключалась в том, чтобы найти какую-то подсказку в списке файлов пакетов или в gconf, но мне не повезло. Кто-то еще знал ответ, хотя.

Superuser: Изменить уровни сжатия по умолчанию для файлового ролика?

Или:

$ dconf write /org/gnome/file-roller/general/compression-level "'maximum'"

Или же:

$ dconf-editor
  1. Выбрать org в левой панели.
  2. Выбрать gnome в левой панели.
  3. Выбрать file-roller в левой панели.
  4. Выбрать general в левой панели.
  5. Выбрать compression-level в правой панели.
  6. Задавать compression-level в 'maximum',

К сожалению, вы не можете точно настроить этот параметр для различных программ сжатия. Если вам нужна вся свобода, вы можете вместо этого использовать свою оболочку.

Изображение dconf Editor с максимальным уровнем сжатия файлового ролика.,

В этом ответе ранее не было никаких голосов, поэтому я проверил, оказывает ли это какое-либо влияние, и решил сжать некоторые документы с настройками по умолчанию и с максимальными настройками (тип 7z). Результат: улучшение 2,3 КБ для архива ~300 КБ.

Внимание:

  • В зависимости от содержимого это может оказать негативное влияние на сжатие всего с помощью LZMA/LZMA2 на максимальном уровне. Например, PNG уже сжаты с помощью Deflate и не сильно выиграют от сжатия. Было бы разумнее оптимизировать их с помощью PNGOUT / OptiPNG, Zopfli, а затем заархивировать их с помощью LZ4, что обеспечит более быструю распаковку архива и уменьшение размера файла.

Я попытался узнать больше с помощью man-страницы и руководства пользователя, но все же не повезло. Затем я скачал исходный пакет и искал "максимум" в fr-command-7z.c (обратите внимание, как я избегаю говорить, что я читаю источник), что дало мне следующее:

switch (archive->compression) {
case FR_COMPRESSION_VERY_FAST:
    fr_process_add_arg (command->process, "-mx=1");
    break;
case FR_COMPRESSION_FAST:
    fr_process_add_arg (command->process, "-mx=5");
    break;
case FR_COMPRESSION_NORMAL:
    fr_process_add_arg (command->process, "-mx=7");
    break;
case FR_COMPRESSION_MAXIMUM:
    fr_process_add_arg (command->process, "-mx=9");
    if (! _g_mime_type_matches (archive->mime_type, "application/zip")
        && ! _g_mime_type_matches (archive->mime_type, "application/x-cbz"))
    {
        fr_process_add_arg (command->process, "-m0=lzma2");;
    }
    break;
}

Это насколько я могу в настоящее время получить, кажется, что нет ультра настройки.

Другие вопросы по тегам