Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/11/2015, à 12:50

erresse

[script bash] Monteur d'archive en environnement utilisateur

Un petit script pour remplacer la fonction "Monter l'archive" disparue des navigateurs (nautilus, caja, etc...).
Ce script permet par un clic droit de monter (ou démonter) une archive sur un point de montage en environnement utilisateur (donc sans nécessiter les droits réservés à "root" pour le montage) et de la gérer comme un répertoire de son arborescence.
Il a besoin pour fonctionner des dépendances "fuse", "archivemount" et "zenity" installés.
Mise en oeuvre : Copier le code ci-dessous et l'enregistrer dans le répertoire réservé aux scripts du navigateur (nautilus-script dans gnome2, ou scripts de caja dans config...) et le rendre exécutable.

Le script "Monteur d'archives" :

#! /bin/bash
# Montage/démontage d'une archive dans le navigateur
#
# Dépendances: zenity, archivemount, fuse
MONTAGE="${HOME}/mnt"
ARCHIVE="$1"

warning() {
    zenity --warning --title "Monteur d'archives" --text "$*"
}

if [ ! -d "${MONTAGE}" ]; then
    warning "Point de montage '${MONTAGE}' inconnu.\nCréation du point de montage"
	mkdir "${MONTAGE}"
fi

if [ `ls -A "${MONTAGE}" | wc -c` -eq 0 ]; then
	if [ "${ARCHIVE}" == "" ]; then
		warning "Veuillez sélectionner l'archive à monter s.v.p"
		exit 1
	else
		archivemount "${ARCHIVE}" "${MONTAGE}"
	fi
else
	zenity --question --title "Monteur d'archives" --text "Une archive est déjà montée sur le point de montage.\nVoulez-vous la démonter ?"
	if [ $? == 0 ]; then
		fusermount -u "${MONTAGE}"
	fi
fi

exit 0

Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#2 Le 08/11/2015, à 19:11

Compte anonymisé

Re : [script bash] Monteur d'archive en environnement utilisateur

Bonjour,

quel sont les avantages de votre script par rapport au paquet avfs ?

Cordialement

#3 Le 08/11/2015, à 21:06

erresse

Re : [script bash] Monteur d'archive en environnement utilisateur

Bonsoir,

Premier point, primordial : Je ne connais pas "avfs"... Je ne sais pas comment il fonctionne ni ce qu'il est capable de gérer, donc, pour évaluer d'éventuelles différences, voire des avantages de mon script sur "avfs"... je suis plutôt mal placé !

La description succincte qui accompagne le paquet "avfs" semble indiquer des fonctionnalités très similaires à "archivemount", mais je ne sais pas si les deux sont équivalents.

Ensuite, mon script n'est qu'une interface au programme "archivemount", pour le mettre en œuvre plus confortablement : On clique droit sur le fichier d'archive, on choisit le script dans la liste et il monte l'archive.
Pour le reste, les possibilités sont strictement celles de "archivemount".


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#4 Le 08/11/2015, à 23:19

Compte anonymisé

Re : [script bash] Monteur d'archive en environnement utilisateur

ok

comme tu parlais de la "fonction qui a disparu" (qui se nomme avfs, elle est juste pas installée dans les dernières versions d'Ubuntu), je pensais que tu connaissais.

je vais tester ton script pour comparer.

a+

Dernière modification par Compte anonymisé (Le 08/11/2015, à 23:23)

#5 Le 09/11/2015, à 00:00

Compte anonymisé

Re : [script bash] Monteur d'archive en environnement utilisateur

Après essai,

je suis bien arrivé à monter une archive zip. Mais je ne suis pas arrivé à le démonter (problème de droit).
Et pas d'alerte si l'archive n'est pas compatible hmm.

#6 Le 09/11/2015, à 16:54

erresse

Re : [script bash] Monteur d'archive en environnement utilisateur

Le démontage se fait en rappelant le script (il n'est pas nécessaire d'avoir sélectionné le fichier pour le démontage).
Si une archive est déjà montée, le script le signale et demande si on veut la démonter.  C'est une commande "fuse" qui démonte sans les droits "root".
Autrement, il est possible de démonter l'archive manuellement, mais la commande "umount" étant réservée à "root", il faut alors l'exécuter avec "sudo".

J'ignorais que la fonction "Monteur d'archive" qui apparaissait avant dans Nautilus, était en fait "avfs". En installant le paquet, est-ce que le choix apparaît dans le navigateur par clic droit ?

Qu'entends-tu par "archive pas compatible" ? J'ai eu un problème en essayant de monter juste un dossier (non compressé) mais les archives se montent en général, y compris les .iso...


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#7 Le 09/11/2015, à 17:59

Compte anonymisé

Re : [script bash] Monteur d'archive en environnement utilisateur

J'ignorais que la fonction "Monteur d'archive" qui apparaissait avant dans Nautilus, était en fait "avfs". En installant le paquet, est-ce que le choix apparaît dans le navigateur par clic droit ?

oui (enfin uniquement sur les "archives compatibles")

Qu'entends-tu par "archive pas compatible" ?

une archive au format 7zip ou rar ne fonctionnent pas par exemple.