web-dev-qa-db-ja.com

UbuntuでGUIを使用して7z圧縮レベルを設定するにはどうすればよいですか?

アーカイブマネージャー、またはfile-rollerには、7zファイルの圧縮レベルを設定するオプションがないようです。

enter image description here

ただし、Windowsクライアント 7-Zip には、GUIを使用してこれを行うオプションがあります-

enter image description here

Ubuntu/Linuxでは、-mフラグを使用して、コマンドライン(CLI)で圧縮レベルを設定できます。詳細については、 this answer を参照してください。

UbuntuのGUIを使用して7zアーカイブの圧縮レベルを設定するための規定はありますか?

14
Rohith Madhavan

私のアイデアは、パッケージのファイルリストまたは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'に設定します。

残念ながら、異なる圧縮プログラムに対してこの設定を微調整することはできません。すべての自由が必要な場合は、代わりにシェルを使用できます。

ファイルローラーの圧縮レベルを最大に設定したdconfエディターのイメージ

以前はその回答には賛成票がなかったため、これが何らかの効果があるかどうかを確認し、デフォルト設定と最大設定(タイプ7z)で一部のドキュメントを圧縮することを選択しました。結果:〜300 KBのアーカイブで2,3 KBの改善。

注意:

  • コンテンツによっては、LZMA/LZMA2を使用してすべてを最大レベルに圧縮すると、マイナスの影響を与える可能性があります。たとえば、PNGはDeflateですでに圧縮されているため、圧縮してもあまり効果はありません。 PNGOUT/OptiPNG、 Zopfli で最適化してから LZ4 でアーカイブし、アーカイブの解凍を高速化し、ファイルサイズを小さくする方が合理的です。

ファイルローラーのマンページと ユーザーマニュアル を使って詳細を調べてみましたが、まだうまくいきません。次に、ソースパッケージをダウンロードし、fr-command-7z.cで "maximum"を検索しました(ソースをreadと言うのを避ける方法に注意してください)。

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

私が現在得られる限りでは、ウルトラ設定はないようです。

16
LiveWireBT