在Ubuntu中使用GUI设置7z压缩级别

Archive Manager或file-roller似乎没有为7z文件设置压缩级别的选项。

在此处输入图像描述

但是,Windows客户端7-zip有一个使用GUI的选项 –

在此处输入图像描述

在Ubuntu / Linux上,可以使用-m标志在命令行(CLI)中设置压缩级别。 有关详细信息,请参阅此答案 。

是否有任何规定在Ubuntu中使用GUI设置7z档案的压缩级别?

我的想法是在包的文件列表或gconf中找到一些提示,但我没有运气。 但是有人知道答案。

超级用户: 更改文件滚动的默认压缩级别?

或者:

 $ 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'

遗憾的是,您无法针对不同的压缩程序微调此设置。 如果你想要所有的自由,你可以使用你的shell。

dconf编辑器的图像,file-roller的压缩级别设置为最大值。 。

这个答案以前没有upvotes,所以我检查了它是否有任何影响,并选择使用默认设置和最大设置压缩一些文档(类型7z)。 结果:在~300 KB存档上改进了2,3 KB。

警告:

  • 根据内容的不同,LZMA / LZMA2在最大水平上压缩所有内容会产生负面影响。 例如,PNG已经使用Deflate压缩,并且不会从压缩中获得太多收益。 使用PNGOUT / OptiPNG, Zopfli对它们进行优化会更有意义,然后使用LZ4对它们进行存档,从而实现更快的存档解压缩并减小文件大小。

我试图通过文件滚动手册和用户手册找到更多信息,但仍然没有运气。 然后我下载源包并在fr-command-7z.c搜索“maximum”(请注意我如何避免说我读取源代码),这给了我以下内容:

 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; } 

就我目前所能得到的而言,似乎没有超级设定。