[RESOLU]YASSM démontage automatique partage réseau

Message
Author
augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#21 Post by augras »

Bonsoir,
Après quelques jours de repos complet avant de reprendre les hostilités pour le réveillon de demain un petit tour sur le forum !
Je vois que tu avais pensé à tout !
Tu as raison il y aurait plusieurs horloges... mais je dirai plutôt une par montage... donc à un moment ou un autre autant de fenêtres potentielles effectivement.
Je teste ton nouveau script.
Merci encore,
ASRI, j'adore le libre aussi !
Philippe

Pelo

Pschedule ne pourait pas mettre fin au partage ?

#22 Post by Pelo »

Pschedule
Je suis de loin, parce que c'est puissant votre affaire. En basic, si une condition passe à vraie, elle déclenche une action. On n'a pas çà sous linux ?

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#23 Post by augras »

Bonsoir Pelo,
Je connais Pschedule qui fonctionne parfaitement et je pense d'ailleurs que j'utiliserai un lancement périodique du script plutôt que le laisser continuellement tourner en tâche de fond si les horloges internes au script devenaient problématiques à gérer.
Mais si on veut que le script gère tout lui-même on est obliger de le laisser tourner. Ou alors le script se lance, lance une horloge qui se gère, le script s'arrête et quand il se relance il va lire le résultat de l'horloge lancée précédement.... je crois que ça complique encore les choses.
Merci de ton intérêt.
Le chef programmeur c'est fabrice : je peux bricoler ce qu'il fait, dans une certaine mesure, mais je suis incapable de faire le script comme il l'a fait... et aussi rapidement ! Mon esprit suit des cheminements qui ne sont pas propices aux "raccourcis" de la programmation.
Philippe
Last edited by augras on Thu 01 Jan 2015, 10:39, edited 1 time in total.

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#24 Post by fabrice_035 »

Salut,

Concernant le démarrage du script, il y a plus simple, c'est de le lancer dans YASSM, car YASSM s'articule sur plusieurs scripts.

On verra ça l'année prochaine :P

Bonne soirée à tous et surtout à toutes :D

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#25 Post by augras »

Bonjour fabrice_035,
Ton script fonctionne très très bien : félicitations et merci.
Il y a bien en fait un décompte de cycle par montage.
J'ai testé avec 3 montages en parallèles.
Un toujours ouvert et qui n'est jamais démonté par ton script.
L'autre ouvert puis fermé et le compteur de cycles se met en route sans toucher aux 2 autres. Si je rouvre une fenêtre du montage le compteur s'arrête bien et si je referme la fenêtre il repart bien de zéro. Si je laisse le compteur aller à 10 le montage est démonté mais pas les deux autres.
J'ai ensuite testé en fermant la fenêtre du 3è montage mais plus tard que le deuxième : apparemment il n'y a qu'un décompte de cycle mais arrivé à 10 seul le 2è montage est démonté et le décompte de cycle pour le troisième montage apparaît alors sans commencer à zéro puisque déjà commencé.... c'est parfait.
Bien entendu une fenêtre fermée et rouverte avant le décompte final arrête ce décompte pour le montage concerné.

Lancer ton script dès que l'on clique sur le bouton "monter" de samba_select ou samba_search, de même que l'arrêter quand on clique sur le bouton "démonter" de l'un de ces scripts serait effectivement idéal.
Et pour continuer dans l'idéal une fenêtre de paramétrage permettant d'indiquer combien on veut de cycles avant un démontage complèterait parfaitement bien le tableau.
Aucune "exigence" de ma part : uniquement des propositions pour arriver à une solution parfaitement fonctionnelle que n'importe qui pourra utiliser très simplement.
Bonne journée,
Philippe

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#26 Post by fabrice_035 »

Hello,

Je pense pas que j'irai pas faire un front end pour ce script, mais le projet reste ouvert.

Revenons sur la façon de lancer le script et de le faire gagner en autonomie.


A+
Last edited by fabrice_035 on Sat 02 May 2015, 14:58, edited 1 time in total.

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#27 Post by augras »

Toujours aussi rapide ! Et ça fonctionne.
La modification à faire dans samba-login ne permet d'utiliser ton script que si on utilise samba-search : j'ai fait la même modification dans samba-select juste après les mêmes lignes et ça fonctionne également.
Par contre j'ai pour le moment mis en commentaire la ligne à propos de sit car j'ai téléchargé le fichier compressé dans le premier post du fil... mais je n'ai pas réussi à lancer sit : segmentation fault (sous tarhpup6).
Un désagrément qui est apparu avec ce nouveau script et sur certains partages seulement : une fenêtre apparaît à l'ouverture de la fenêtre du partage avec le message "Erreur lors de la lecture de /root/YASSM/homes@10.0.0.150 : impossible de faire un stat du répertoire : No such file or directory". Il suffit de valider et tout fonctionne. Mais cette fenêtre réapparaît si l'on ferme la fenêtre du partage et qu'on en ouvre une nouvelle.
Merci encore,
Philippe

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#28 Post by fabrice_035 »

# sit
Segmentation fault

C'est normal!

# sit --help
Usage:
sit interval /pathto/image tooltip left-click-action right-click-action

-> Il faut obligatoirement des arguments.

Pour l'histoire de l'erreur, j'ai eu la même chose, j'ai d'abord pensé à un bug lié aux nombreux essais que j'avais fait, alors j'ai redémarré le pc et depuis ras, plus aucun bug. Mystère à éluder :roll:

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#29 Post by augras »

En fait je n'avais pas récupéré le bon fichier pour sit !
Avec le .pet en page 5, version 1.0, c'est ok.
Enfin pas tout à fait.
Dans ton code tu as mis sit 1000... : j'ai systématiquement "error: could not stat file 1000" ! Et sit ne fonctionne pas. J'ai essayé 100 mais rien à faire. J'ai supprimé et là j'ai bien une icône qui apparaît dans la barre des tâches... et elle ne disparaît jamais, même quand je n'ai plus aucun montage de partage.
J'avais pensé qu'il y avait une icône par montage et que quand un montage était supprimé l'icône correspondante disparaissait.
Est-ce que c'est ce paramètre 1000 qui vient tout perturbé ? Je n'avais pas compris ?
Merci encore,
Philippe

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#30 Post by fabrice_035 »

J'utilise la version 1.0, ( sit-1.0.tar.gz )
Last edited by fabrice_035 on Sat 02 May 2015, 14:58, edited 1 time in total.

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#31 Post by augras »

Bonjour fabrice_035,
et oui, "1000" trainait à l'endroit indiqué !
Tout fonctionne de façon transparente pour l'utilisateur.
C'est vrai qu'une icône par montage en cours serait un plus : j'ai bien essayé de bidouiller ton script mais pas de résultat concluant.
La fenêtre parasite dont je parlais hier a effectivement disparue ce matin avec le redémarrage de la machine.
J'ai bien noté ta réponse sur la mise en place d'une fenêtre de configuration pour déterminer le timeout, ou faire le choix de ne pas en avoir d'ailleurs, mais ça terminerait bien ton travail je pense.
Merci encore pour tout ce travail et tes efforts.
Bonne journée,
Philippe

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#32 Post by augras »

Bonjour,
J'ai apporté une petite modification à ton script afin que l'utilisateur soit informé du démontage d'un partage. Il sait qu'un partage, ou plusieurs, sont montés avec la petite icône à côté de l'horloge mais découvre qu'un partage a été démonté quand il veut l'utiliser.
J'ai ajouté la ligne avec xdialog dans la partie suivante de ton code

Code: Select all

# echo "demontage de $partage"
   umount -f $partage
   Xdialog --title "$partage" --msgbox "$(gettext 'All shares unmounted')" 05 60
   x=1
Ainsi une fenêtre, que l'utilisateur doit fermer en cliquant sur ok, apparaît. Le titre de la fenêtre reprend le nom du partage. Le message reprend celui de Yassm quand on démonte et est donc traduit.

Il faut indiquer 300 en nombre de cycle, au lieu de 4, pour avoir une déconnexion sans utilisation, sans fenêtre du partage ouverte en fait, au bout de 15 mn environ.
Philippe

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#33 Post by fabrice_035 »

C'est une bonne idée.
Une info en passant, dans le fil de discussion relatif à SIT (simple icon tray) il y a une autre version, plus pratique car en plus tu peux lancer une commande shell quand tu cliques sur l’icône. Autre chose, j'ai vu que @technosaurus avait eu la bonne idée de faire la démonstration d'une création d’icône au format SVG et modifiable à la volée. Donc à la place d'un dessin, tu peux écrire un texte. Il n'y a pas de beaucoup de place mais à l'imagination de trouver quoi en faire!

Ce qui donne, à titre d'exemple, avec le dernier SIT:

Bon bidouillage :)
Last edited by fabrice_035 on Sat 02 May 2015, 14:56, edited 1 time in total.

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#34 Post by augras »

Merci de continuer à t'intéresser à la question.
Tu as pris quelle version de Sit pour ce fonctionnement ? J'ai parcouru toutes les pages mais il y a finalement pas mal de versions différentes !
Le fonctionnement recherché a été trouvé : je note le sujet comme résolu, même s'il continu d'évoluer.
Philippe

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#35 Post by fabrice_035 »

A
Last edited by fabrice_035 on Sat 02 May 2015, 15:15, edited 1 time in total.

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#36 Post by augras »

J'ai récupéré le même que toi et remplacé /usr/bin/sit par le nouveau sit décompressé et ça fonctionne.
Toutefois je ne comprends pas dans ton code pourquoi il y a un exit après le exit0

Code: Select all

killall sit
exit 0
exit
De même les compta et comptb ne servent à rien ? Ils ne fonctionnent pas !

Code: Select all

compta=0
echo "$compta"
trouve="rien"
 
   
  for windows in $wi
 
 do
 ((compta = compta + 1))

echo "$comptb"
Philippe

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#37 Post by fabrice_035 »

ah oui c'est un brouillon. Toutefois je te prépare une version propre et nettoyée, un code plus lisible et des nouveautés... suspense!

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#38 Post by fabrice_035 »

hello,

Voici une version plus clean, elle affiche dans l'icon le nombre de montages et ceux qui manquent, avant un démontage il est possible de rouvrir avec un click droit sur l'icon et un click gauche ouvre tous

Sinon l'info bulle change aussi et quand l'icon est en rouge il indique les fenêtres manquantes et en vert les montages en cours.

Le script est commenté en détails, pour améliorer, modifier et reprendre ça sera plus simple. J'ai pas trouvé de problème. A tester!


A+
Last edited by fabrice_035 on Sat 02 May 2015, 14:57, edited 1 time in total.

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#39 Post by augras »

Et bien tu as fait un super travail !
Je regarde ça ce soir si je ne rentre pas trop tard.
Pour le moment c'est calme, normal tout le monde part manger, mais ce matin ça se bousculait un peu trop au boulot !
Bon appétit,
Philippe

augras
Posts: 1487
Joined: Mon 11 Nov 2013, 17:37
Location: france

#40 Post by augras »

Que dire ? BRAVO !
Tout fonctionne parfaitement.
Pas de marge pour bidouiller : tout est là !
J'ai juste ajouter une boîte de dialogue pour prévenir les inattentifs que c'est trop tard et que le démontage de tel partage a eu lieu : la fenêtre disparaît au bout de quelques secondes. C'est la ligne qui commence par Xdialog ci-dessous :

Code: Select all

# fonction qui fait du demontage
demontage () {
   # $1 est l'argument passé dans a la fonction
   umount -f $1
   # Une fenêtre prévenant du démontage de $1 s'affiche puis disparaît
   Xdialog --title "YASSM" --backtitle "$1"  --no-buttons --infobox "$(gettext 'All shares unmounted')" 10 60 10000
    # on repart à zero
   oldmt=""
   x=0
   manque="0"
}
Un inconvénient toutefois : lorsque l'on ferme simultanément plusieurs fenêtres de partages elles sont traitées dans l'ordre de fermeture et le décompte, contrairement à ce que j'avais conclu en regardant ce qui se passait dans un terminal, ne commence pas en prenant en compte celui déjà écoulé mais en repartant de zéro. Ainsi si l'on ferme trois fenêtres successivement et que l'on a mis 15mn de décompte il s'écoulera finalement 45 mn pour la fermeture de la dernière.
Ce n'est pas très gênant à partir du moment où on le sait.
Merci encore.
Tu as fait un outils très pratique qui évite de laisser un partage indéfiniment ouvert.
Philippe

EDIT : je viens de regarder la consommation de mémoire et le script est à 1,6M ; sit lui prend carrément 12,1M ! Sur les machines actuelles ce n'est pas un problème mais sur de vieilles configurations... Je ne comprends pas comment openbox peut-être à 7M et sit à plus de 12.

Post Reply