Как установить уровень сжатия 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
- Выбрать
org
в левой панели.- Выбрать
gnome
в левой панели.- Выбрать
file-roller
в левой панели.- Выбрать
general
в левой панели.- Выбрать
compression-level
в правой панели.- Задавать
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;
}
Это насколько я могу в настоящее время получить, кажется, что нет ультра настройки.