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

14

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

введите описание изображения здесь

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

введите описание изображения здесь

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

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

Рохит Мадхаван
источник
Насколько мне известно, он использует ultraуровень по умолчанию!
blade19899
@ blade19899 Уровень по умолчанию 5 (Нормальный)
Рохит Мадхаван
Вы меня учили. Единственный вариант - использование версии командной строки. И отправьте запрос на функцию! Насколько я знаю :)
blade19899
Я думаю, что это примерно тот же алгоритм, который обычно использует xz, а для более высоких уровней сжатия может потребоваться «несколько гигабайт» оперативной памяти (так говорится man xz) - это не похоже на zip, где указание «max» все время является лучшей идеей.
Xen2050
Это зависит от размера файлов, которые будут заархивированы. Для практических целей требование ОЗУ не является большой проблемой.
Рохит Мадхаван

Ответы:

16

Моя идея заключалась в том, чтобы найти какую-то подсказку в списке файлов пакетов или в 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;
}

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

LiveWireBT
источник
1
Хотя предложенный метод может улучшить уровни сжатия, он требует от пользователя изменять значения в dconf-editor каждый раз, когда требуется другой уровень. Есть ли способ, где уровни сжатия выбираются динамически?
Рохит Мадхаван
+1 за ответ. Хотя это не совсем решает проблему, оно предоставляет альтернативное решение.
Рохит Мадхаван
@ RohithMadhavan Я понимаю, что вы имеете в виду. Я пытаюсь никого не винить здесь, но я думаю, что именно так работают приложения Gnome по умолчанию: вы можете включить скрытые функции, но вы не найдете много флажков и выпадающих меню.
LiveWireBT
Думаю ты прав. Я могу попытаться подать запрос на добавление функции, возможно, для включения в дополнительные параметры. Спасибо :-)
Рохит Мадхаван