IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [RESOLU]Aide SleepWatcher 2.2
Options
chiwili
posté 28 Feb 2015, 15:15
Message #1


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



Bonjour à tous,

j'essaye de configurer SleepWatcher 2.2 mais je n'arrive pas a se qu'il se lance au démarrage de ma session et donc n'exécute pas mon script

voici la procédure que j'ai suivi pour l'installation:

Code
sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8


Code
sudo cp ~/Desktop/sleepwatcher_2.2/sleepwatcher /usr/local/sbin


Code
sudo cp ~/Desktop/sleepwatcher_2.2/sleepwatcher.8 /usr/local/share/man/man8


Code
sudo mv ~/Desktop/sleepwatcher_2.2/config/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist


Code
sudo chown root ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist


Code
sudo chmod 644 ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist


Code
sudo launchctl load ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist


j'ai créer un script .wakeup et .sleep dans mon répertoire personnel.
Quand j'execute la commande teste suivante tout fonctionne correctement

Code
/usr/local/sbin/sleepwatcher --verbose --sleep ~/.sleep --wakeup ~/.wakeup


mais quand je redémarre mon macbook rien ne se passe, SleepWatcher ne se lance pas...

Ce message a été modifié par chiwili - 15 Mar 2015, 10:25.
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 28 Feb 2015, 19:34
Message #2





Guests






Bonjour,

Le wakeup de SleepWatcher ne fonctionne qu'au réveil de la machine après une mise en veille, pas lors d'un démarrage, redémarrage ou à l'ouverture d'une session.

Solution :
Utilise un launch agent (fichier plist) dans ton dossier "Maison/Bibliothèque/LaunchAgents/" pour exécuter ton script à l'ouverture de session.
Fait une recherche avec le mot launchD

Ou utilise une application AppleScript ou Automator qui lance ton script, il suffit d'ajouter cette application dans l'onglet "Ouverture" des préférences "Comptes" dans les préférences systèmes


Ce message a été modifié par JacqR - 28 Feb 2015, 19:40.
Go to the top of the page
 
+Quote Post
chiwili
posté 28 Feb 2015, 20:07
Message #3


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



Mais c'est exactement se que je veux qu'il exécute mon script a l'entrée de veille, a la sortie... Quand j'ouvre et ferme le capot de mon MacBook Pro en gros.

Edit: je me suis peut être mal exprimer... SleepWatcher fonctionne correctement, quand je tape la commande test cité plus haut les script s'execute a l'ouverture et a la fermeture du capot.
Le probleme est que sleepWatcher ne commence pas a tourner a l'ouverture de session donc quand je ferme et ouvre mon capot après être logué le script ne se lance pas.


Ce message a été modifié par chiwili - 28 Feb 2015, 22:14.
Go to the top of the page
 
+Quote Post
chiwili
posté 28 Feb 2015, 22:44
Message #4


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



En faite j'viens de voir dans mon monteur d'activité que SleepWatcher tourne bien mais pour une raison que j'ignore lol les script ne s'execute pas a l'ouverture et fermeture du capot...

Voici mon fichier plist:

Code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>de.bernhard-baehr.sleepwatcher</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/sbin/sleepwatcher</string>
        <string>-V</string>
        <string>-s ~/.sleep</string>
        <string>-w ~/.wakeup</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 1 Mar 2015, 00:10
Message #5





Guests






Citation (chiwili @ 28 Feb 2015, 14:07) *
Mais c'est exactement se que je veux qu'il exécute mon script a l'entrée de veille, a la sortie... Quand j'ouvre et ferme le capot de mon MacBook Pro en gros.

Ok, donc ce n'est pas un redémarrage au complet de la machine.

Selon ton premier message, les trois premières commandes sont correctes.
Après, cela devrait-être ces commandes sans sudo et sans l'utilisation des commandes chown et chmod.
cp ~/Desktop/sleepwatcher_2.2/config/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist; launchctl load ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist

Je ne sais pas si les autres commandes cause votre problème, mais, essaie ceci :
Exécute cette commande dans le Terminal
Code
sudo launchctl unload ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist && sudo rm ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist


Décompresse le fichier "sleepwatcher_2.2.tgz" sur le bureau
Exécute cette commande dans le Terminal
Code
cp ~/Desktop/sleepwatcher_2.2/config/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist; launchctl load ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist


Les scripts doivent avoir les droits de l'utilisateur, exécute cette commande dans le Terminal si ce n'est pas déjà fait :
Code
chmod +x ~/.sleep ~/.wakeup



Ferme le capot de ton MacBook Pro et réouvre-le après quelques secondes.
Si cela ne fonctionne pas, essaie en sélectionnant le menu "Suspendre l'activité", est-ce que cela fonctionne ?


Ce message a été modifié par JacqR - 1 Mar 2015, 00:11.
Go to the top of the page
 
+Quote Post
chiwili
posté 1 Mar 2015, 13:54
Message #6


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



Non malheureusement sa ne fonctionne toujours pas...
Quand je rentre la premiere commande que tu m'as proposer j'ai se message d'erreur:

Code
/Users/Jonathan/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist: Could not find specified service


et lors de la 2e commande j'ai le message d'erreur:

Code
/Users/Jonathan/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist: File exists


y a t'il un moyen de nettoyer launchctl hier croyant que sa fonctionnais pas j'ai loader plusieurs fois y a peut être conflit maintenant...

wacko.gif

Edit: j'ai taper la commande suivante, et je vois bien le service dans la liste mais j'ai beau faire unload il reste toujours là...

Code
launchctl list


Edit2: J'ai réussi a supprimer le service de la liste et supprimer le fichier plist du repertoire LaunchAgents,
maintenant la 2e commande fonctionne sans message d'erreur mais les script ne se lance toujours pas a l'ouverture et fermeture du capot, ni meme en via Pomme -> Suspendre l'activité...
Pourtant mes script son bien dans /Users/NomUtilisateur/ et s'appelle bien .sleep et .wakeup

Ca va finir par me rendre chèvre wacko.gif

Ce message a été modifié par chiwili - 1 Mar 2015, 14:31.
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 1 Mar 2015, 14:57
Message #7





Guests






Bonjour,

La deuxième commande ne fonctionnera pas tant que le fichier plist ne sera pas supprimé.
Aucun problème si vous avez loadé plusieurs fois, il n'y aura toujours qu'un seul fichier.

La commande launchctl unload ne supprime pas le fichier dans le dossier, mais il désactivera le fichier PList pour que LaunchD ignore ce fichier.

Edition
: comme tu as trouvé comment supprimé le fichier Plist , j'efface le reste de ce message car cela n'est plus nécessaire

Ce message a été modifié par JacqR - 1 Mar 2015, 15:20.
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 1 Mar 2015, 15:17
Message #8





Guests






Citation (chiwili @ 1 Mar 2015, 07:54) *
Edit2: J'ai réussi a supprimer le service de la liste et supprimer le fichier plist du repertoire LaunchAgents,
maintenant la 2e commande fonctionne sans message d'erreur mais les script ne se lance toujours pas a l'ouverture et fermeture du capot, ni meme en via Pomme -> Suspendre l'activité...
Pourtant mes script son bien dans /Users/NomUtilisateur/ et s'appelle bien .sleep et .wakeup
OK,

Il faut s'assurer les fichiers .sleep et .wakeup n'ont pas d'extension et que se sont des fichiers texte (sans format), pas un fichier au format rtf ou créée par Microsoft Word ou autre suite Office

Est-ce que ces scripts on les droits d'exécutable ?
Si la réponse est non ou que tu ne sais pas, exécute cette commande dans le Terminal
Code
chmod +x ~/.sleep ~/.wakeup

Maintenant ces scripts pourront être exécuter dans votre session.


Est-ce que vous avez un texte comme ceci #!/bin/bash dans la première ligne de vos scripts pour indiqué le type du script shell ?
Sinon, cela est nécessaire.

Go to the top of the page
 
+Quote Post
chiwili
posté 1 Mar 2015, 15:39
Message #9


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



Oui les script sont bien exécutable et je les ai écrit dans pico sans extension...
D'ailleurs quand je tape la commande:
Code
/usr/local/sbin/sleepwatcher --verbose --sleep ~/.sleep --wakeup ~/.wakeup


Tout fonctionne comme il faut quand j'ouvre et ferme le capot...
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 1 Mar 2015, 15:59
Message #10





Guests






Citation (chiwili @ 1 Mar 2015, 09:39) *
Oui les script sont bien exécutable et je les ai écrit dans pico sans extension...
D'ailleurs quand je tape la commande:
Code
/usr/local/sbin/sleepwatcher --verbose --sleep ~/.sleep --wakeup ~/.wakeup


Tout fonctionne comme il faut quand j'ouvre et ferme le capot...
Ok,

Je n'ai pas vraiment d'idée pourquoi cela ne fonctionne pas normalement, sauf en utilisant la commande
Code
/usr/local/sbin/sleepwatcher --verbose --sleep ~/.sleep --wakeup ~/.wakeup


Mais, si un script prends trop de temps ou il y a une erreur, cela peut désactiver le fichier plist.
Avez-vous regardé les logs dans l'application "Console" pour voir si il n'y a pas des messages concernant le fichier de.bernhard-baehr.sleepwatcher.plist.
Go to the top of the page
 
+Quote Post
chiwili
posté 1 Mar 2015, 23:11
Message #11


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



J'ai regarder dans la console et après une recherche le seule message que je vois c'est celui ci:

Code
Mar  1 23:07:36 MBP-de-Jonathan com.apple.xpc.launchd[1] (de.bernhard-baehr.sleepwatcher): This service is defined to be constantly running and is inherently inefficient.


Aucun message a la fermeture ou ouverture du capot...
Je désespére sad.gif
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 2 Mar 2015, 15:23
Message #12





Guests






Bonjour,

Citation (chiwili @ 1 Mar 2015, 17:11) *
Je désespére sad.gif

Est-ce que vous utilisez des commandes dans vos scripts qui ne sont pas des commandes standard de l'OS ?
Si la réponse est oui :
Pour les commandes qui ne sont pas standard, utilise le chemin complet de la commande dans vos scripts au lieu du nom de la commande, car l'environnement dans le Terminal peut-être différent que celui par launchD


Aussi, essaie avec un script simple comme celui-ci dans le fichier .sleep
Code
#!/bin/bash
/usr/bin/touch ~/Desktop/fichierCreerParScriptSleep.txt

et ce script dans le fichier .wakeup
Code
#!/bin/bash
/usr/bin/touch ~/Desktop/fichierCreerParScriptWakeup.txt
Cela créera deux fichiers vide sur le bureau


Ce message a été modifié par JacqR - 2 Mar 2015, 15:25.
Go to the top of the page
 
+Quote Post
chiwili
posté 2 Mar 2015, 18:20
Message #13


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



Tu es un GENIE biggrin.gif avec tes mini script les fichier txt se crée bien sur le bureau...
Par contre je n'ai aucune idée des chemin que je dois mettre pour mon script ci dessous sad.gif

Code
#!/bin/bash

var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/R$

if test "$var" = "Home"
then
   mount -t smbfs //Guest:@NAS/Volume_1 Volume_1
   mount -t smbfs //Guest:@NAS/Volume_2 Volume_2
   mount -t smbfs //Guest:@NAS/P2P P2P
else
   exit
fi
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 3 Mar 2015, 15:50
Message #14





Guests






Bonjopur,

Citation (chiwili @ 2 Mar 2015, 12:20) *
Par contre je n'ai aucune idée des chemin que je dois mettre pour mon script ci dessous sad.gif
Code
#!/bin/bash

var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/R$

Il n'y a rien à ajouter dans ce script, ce sont des commandes standard.
Mais la troisième ligne du script est incomplete, probablement que vous l'avez coupé par erreur.

Je crois plutôt que vous devez ajouter un délai pour s'assurer que le réseau WIFI soit complètement en fonction.


Commencer par ce script, pour connaitre les résultats lors du wakeup, ils seront dans le fichier "logsDuScript_wakeup.txt" sur votre bureau
Code
#!/bin/bash
##sleep 1 ## ajuster le nombre de seconde, si nécessaire pour que le réseau WIFI soit complètement en fonction
var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/R ligne a compléter) ## important
if test "$var" = "Home"
then
   echo "$(date) : var est 'Home'" >> ~/Desktop/logsDuScript_wakeup.txt
   mount -t smbfs //Guest:@NAS/Volume_1 Volume_1
   mount -t smbfs //Guest:@NAS/Volume_2 Volume_2
   mount -t smbfs //Guest:@NAS/P2P P2P
   echo "$(date) : Les volumes smbfs devrait-être montés  " >> ~/Desktop/logsDuScript_wakeup.txt
else
   echo "$(date) : var n'est pas 'Home', var est $var" >> ~/Desktop/logsDuScript_wakeup.txt
   exit 0
fi


Si les résultats sont toujours "var n'est pas 'Home'" supprimer les ## avant la commande sleep au début de la deuxième ligne du script.
Augmenter le temps de la commande sleep si nécessaire.
Go to the top of the page
 
+Quote Post
chiwili
posté 3 Mar 2015, 21:03
Message #15


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



J'ai modifié le script .wakeup et j'ai bien le fichier "logsDuScript_wakeup.txt" qui a été créer sur le bureau mais les disque ne son pas monter...
Voici le contenu du fichier "logsDuScript_wakeup.txt":

Code
Tue Mar  3 20:55:46 CET 2015 : var est 'Home'
Tue Mar  3 20:55:46 CET 2015 : Les volumes smbfs devrait-être montés


Et voici le script modifié:

Code
#!/bin/bash

##sleep 1

var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport  -I | awk '/ SSID:/{print $2}')

if test "$var" = "Home"

then

   echo "$(date) : var est 'Home'" >> ~/Desktop/logsDuScript_wakeup.txt
   mount -t smbfs //Guest:@NAS/Volume_1 Volume_1
   mount -t smbfs //Guest:@NAS/Volume_2 Volume_2
   mount -t smbfs //Guest:@NAS/P2P P2P
   echo "$(date) : Les volumes smbfs devrait-être montés  " >> ~/Desktop/logsDuScript_wakeup.txt

else

   echo "$(date) : var n'est pas 'Home', var est $var" >> ~/Desktop/logsDuScript_wakeup.txt
   exit 0

fi


J'ai également mis le chemin complet de la commande /sbin/mount mais j'obtient le même résultat, je précise que les 3 commande mount fonctionne correctement exécuté séparément dans Terminal.
Vous aviez raison la commande de la 5 ligne étais incomplete j'avais mal copier le script wink.gif

Voici le contenu du fichier "logsDuScript_wakeup.txt" quand je désactive mon wifi:

Code
Tue Mar  3 21:07:19 CET 2015 : var n'est pas 'Home', var est


En tout cas un GRAND MERCI pour votre aide précieuse

Ce message a été modifié par chiwili - 3 Mar 2015, 21:36.
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 4 Mar 2015, 00:59
Message #16





Guests






Citation (chiwili @ 3 Mar 2015, 15:03) *
J'ai modifié le script .wakeup et j'ai bien le fichier "logsDuScript_wakeup.txt" qui a été créer sur le bureau mais les disque ne son pas monter...
Voici le contenu du fichier "logsDuScript_wakeup.txt":

Code
Tue Mar  3 20:55:46 CET 2015 : var est 'Home'
Tue Mar  3 20:55:46 CET 2015 : Les volumes smbfs devrait-être montés

Ok,

Il n'y a pas de différence de temps avant et après les commandes mount, cela devrait prendre quelques secondes pour monter un volume !
Je crois que le problème est que vous n'avez pas les permissions via launchD (en tant qu'utilisateur) pour monter ces volumes, alors que vous les avez via le Terminal.

Je ne suis pas assez expert pour vous donner des solutions simples.
Mais une solution pas très élégante pourrait-être celui-ci, (aucune idée si cela va fonctionner, mais le script s'exécutera dans le Terminal) :
Créer un script shell pour monter les volumes
Code
#!/bin/bash
mount -t smbfs //Guest:@NAS/Volume_1 Volume_1
mount -t smbfs //Guest:@NAS/Volume_2 Volume_2
mount -t smbfs //Guest:@NAS/P2P P2P

Enregistre-le sous le nom de monterSMBFS.command dans votre maison
Donner les même droit d'exécutable que le script
Code
.wakeup chmod +x ~/monterSMBFS.command

Double clic sur le fichier "monterSMBFS.command" pour tester.

Si cela fonctionne :
Ejecter les volumes smbfs.
Le script du fichier .wakeup sera comme ceci :
Code
#!/bin/bash
var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport  -I | awk '/ SSID:/{print $2}')
if test "$var" = "Home"
then
   echo "$(date) : var est 'Home'" >> ~/Desktop/logsDuScript_wakeup.txt
   open ~/monterSMBFS.command ## ceci ouvrira le Terminal et le script s'exécutera
   echo "$(date) : Les volumes smbfs devrait-être montés  " >> ~/Desktop/logsDuScript_wakeup.txt
else
   echo "$(date) : var n'est pas 'Home', var est $var" >> ~/Desktop/logsDuScript_wakeup.txt
   exit 0
fi

Mettre en veille pour voir si cela va fonctionner.


Ce message a été modifié par JacqR - 4 Mar 2015, 01:01.
Go to the top of the page
 
+Quote Post
chiwili
posté 10 Mar 2015, 21:59
Message #17


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



Désolé pour cette absence j'étais malade...
Vous aviez raison comme ça sa fonctionne par contre c'est plutôt gênant la fenêtre terminal qui s'ouvre après l'execution du script...
et le script .sleep ci dessous ne s'execute pas bien, les volume se démonte bien mais il reste malgré tout toujours sur le bureau (quand je double clic sur le volume une fenêtre vide s'ouvre et il disparais seulement a se moment là) et du coup sa m'fais une erreur quand var est "home"...

Code
#!/bin/bash

var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport  -I | awk '/ SSID:/{print $2}')

if test "$var" = "Home"
then
  umount /Users/Jonathan/Volume_1              
  umount /Users/Jonathan/Volume_2
  umount /Users/Jonathan/P2P
else
   exit 0
fi


Si je voudrais que la version du script ci dessous s'exécuter juste a l'ouverture de ma session comment je devrais procédé?

Code
#!/bin/bash

##sleep 1

var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport  -I | awk '/ SSID:/{print $2}')

if test "$var" = "Home"

then

   echo "$(date) : var est 'Home'" >> ~/Desktop/logsDuScript_wakeup.txt
   mount -t smbfs //Guest:@NAS/Volume_1 Volume_1
   mount -t smbfs //Guest:@NAS/Volume_2 Volume_2
   mount -t smbfs //Guest:@NAS/P2P P2P
   echo "$(date) : Les volumes smbfs devrait-être montés  " >> ~/Desktop/logsDuScript_wakeup.txt

else

   echo "$(date) : var n'est pas 'Home', var est $var" >> ~/Desktop/logsDuScript_wakeup.txt
   exit 0

fi


Ce message a été modifié par chiwili - 10 Mar 2015, 22:01.
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 13 Mar 2015, 16:16
Message #18





Guests






Bonjour,

Citation (chiwili @ 2 Mar 2015, 12:20) *
Tu es un GENIE biggrin.gif avec tes mini script les fichier txt se crée bien sur le bureau...
Par contre je n'ai aucune idée des chemin que je dois mettre pour mon script ci dessous sad.gif

Code
#!/bin/bash

var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/R$

if test "$var" = "Home"
then
   mount -t smbfs //Guest:@NAS/Volume_1 Volume_1
   mount -t smbfs //Guest:@NAS/Volume_2 Volume_2
   mount -t smbfs //Guest:@NAS/P2P P2P
else
   exit
fi

Je viens juste de penser a ça ohmy.gif , le problème est que le dossier courant dans launchd est le disque de démarrage, alors que c'est votre dossier (utilisateur) dans le Terminal.
Donc pour que cela fonctionne sans le Terminal, il faut spécifier le chemin du point de montage comme ceci :

Code
   mount -t smbfs //Guest:@NAS/Volume_1 /Users/Jonathan/Volume_1
   mount -t smbfs //Guest:@NAS/Volume_2 /Users/Jonathan/Volume_2
   mount -t smbfs //Guest:@NAS/P2P /Users/Jonathan/P2P
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 13 Mar 2015, 16:39
Message #19





Guests






Bonjour,

Citation (chiwili @ 10 Mar 2015, 15:59) *
Vous aviez raison comme ça sa fonctionne par contre c'est plutôt gênant la fenêtre terminal qui s'ouvre après l'execution du script...

Voir mon autre message pour la solution sans le Terminal (peut-être smile.gif ).


Citation (chiwili @ 10 Mar 2015, 15:59) *
et le script .sleep ci dessous ne s'execute pas bien, les volume se démonte bien mais il reste malgré tout toujours sur le bureau (quand je double clic sur le volume une fenêtre vide s'ouvre et il disparais seulement a se moment là) et du coup sa m'fais une erreur quand var est "home"...

Code
#!/bin/bash

var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport  -I | awk '/ SSID:/{print $2}')

if test "$var" = "Home"
then
  umount /Users/Jonathan/Volume_1              
  umount /Users/Jonathan/Volume_2
  umount /Users/Jonathan/P2P
else
   exit 0
fi

Là, je n'ai pas vraiment d'idée sur ce problème, peut-être que le Finder est en veille avant que le script s'exécute !


--
Citation (chiwili @ 10 Mar 2015, 15:59) *
Si je voudrais que la version du script ci dessous s'exécuter juste a l'ouverture de ma session comment je devrais procédé?

Code
#!/bin/bash

##sleep 1

var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport  -I | awk '/ SSID:/{print $2}')

if test "$var" = "Home"

then

   echo "$(date) : var est 'Home'" >> ~/Desktop/logsDuScript_wakeup.txt
   mount -t smbfs //Guest:@NAS/Volume_1 Volume_1
   mount -t smbfs //Guest:@NAS/Volume_2 Volume_2
   mount -t smbfs //Guest:@NAS/P2P P2P
   echo "$(date) : Les volumes smbfs devrait-être montés  " >> ~/Desktop/logsDuScript_wakeup.txt

else

   echo "$(date) : var n'est pas 'Home', var est $var" >> ~/Desktop/logsDuScript_wakeup.txt
   exit 0

fi
Pour lancer des script à l'ouverture de la session, c'est dans les préférences "Utilisateurs et groupes" des préférences systèmes :
Il suffit d'ajouter votre script (important, le script doit-avoir l'extension ".command" dans le nom du fichier) dans l'onglet "Ouverture" de l'utilisateur actuel, mais ceci ouvre le Terminal


Pour ne pas que le Terminal s'ouvre, il suffit de créer une application dans Automator, ajoute l'action "Exécuter un script shell", avec ce script
Code
var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport  -I | awk '/ SSID:/{print $2}')
if test "$var" = "Home"
then
   mount -t smbfs //Guest:@NAS/Volume_1 /Users/Jonathan/Volume_1
   mount -t smbfs //Guest:@NAS/Volume_2 /Users/Jonathan/Volume_2
   mount -t smbfs //Guest:@NAS/P2P /Users/Jonathan/P2P
fi
Enregistre-le à l'endroit de votre choix.

Il suffit d'ajouter l'application (créer par Automator) dans l'onglet "Ouverture" de l'utilisateur actuel
Go to the top of the page
 
+Quote Post
chiwili
posté 14 Mar 2015, 21:20
Message #20


Nouveau Membre


Groupe : Membres
Messages : 39
Inscrit : 30 Dec 2013
Membre no 188 574



Salut Merci pour toute ces infomration il y a 2 jour j'ai finalement fais la meme chose que vous m'indiquez dans votre dernière réponse et sa marche bien comme ça...
sauf si je suis en veille quand j'rentre mais bon si c'est le cas je lance le script manuellement biggrin.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 16th April 2024 - 17:52