web-dev-qa-db-fra.com

Comment définir le niveau de compression 7z à l'aide de l'interface graphique dans Ubuntu?

Le gestionnaire d'archives ou file-roller ne semble pas avoir l'option de définir le niveau de compression pour les fichiers 7z.

enter image description here

Cependant, le client Windows 7-Zip a une option pour le faire en utilisant l'interface graphique -

enter image description here

Sur Ubuntu/Linux, on peut définir le niveau de compression dans la ligne de commande (CLI) à l’aide de l’indicateur -m. Pour plus de détails, reportez-vous à cette réponse .

Est-il possible de définir le niveau de compression pour les archives 7z à l'aide de l'interface graphique dans Ubuntu?

14
Rohith Madhavan

Mon idée était de trouver un indice dans la liste des fichiers des paquets ou dans gconf, mais je n’ai pas eu de chance. Quelqu'un d'autre connaissait la réponse cependant.

Superutilisateur: Modifie les niveaux de compression par défaut pour file-roller?

Non plus:

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

Ou:

$ dconf-editor
  1. Sélectionnez org dans le volet de gauche.
  2. Sélectionnez gnome dans le volet de gauche.
  3. Sélectionnez file-roller dans le volet de gauche.
  4. Sélectionnez general dans le volet de gauche.
  5. Sélectionnez compression-level dans le volet de droite.
  6. Définissez compression-level sur 'maximum'.

Malheureusement, vous ne pouvez pas ajuster ce paramètre pour différents programmes de compression. Si vous voulez toute la liberté, vous pouvez utiliser votre Shell à la place.

Image de l'éditeur dconf avec le niveau de compression du compresseur de rouleaux défini au maximum. .

Auparavant, cette réponse ne recevait pas de votes positifs. J'ai donc vérifié si cela avait un effet et choisi de compresser certains documents avec les paramètres par défaut et les paramètres maximaux (type 7z). Résultat: Amélioration de 2,3 Ko sur une archive de 300 Ko environ.

Attention:

  • Selon le contenu, compresser le tout avec LZMA/LZMA2 au niveau maximum peut avoir un impact négatif. Les PNG, par exemple, sont déjà compressés avec Deflate et ne tireront pas grand profit de la compression. Il serait plus logique de les optimiser avec PNGOUT/OptiPNG, Zopfli , puis de les archiver avec LZ4 , ce qui permet une décompression plus rapide des archives et une réduction de la taille du fichier.

J'ai essayé d'en savoir plus à travers la page de manuel file-rollers et manuel utilisateur , toujours pas de chance. Ensuite, j'ai téléchargé le paquet source et recherché "maximum" dans fr-command-7z.c (remarquez comment j'évite de dire que je lise la source), ce qui m'a donné ceci:

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

C'est tout ce que je peux obtenir actuellement, il semble qu'il n'y ait pas de réglage ultra.

16
LiveWireBT