IPB

Bienvenue invité ( Connexion | Inscription )

> Programmation

Il est interdit de poster directement à la racine de ce forum.
Veuillez créer votre topic dans le sous-forum approprié.

 
Reply to this topicStart new topic
> Lancer une commande à la fermeture de session
Options
iMacX
posté 11 Oct 2003, 16:22
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 376
Inscrit : 25 Jun 2003
Lieu : Bruxelles
Membre no 8 250



Je voudrais savoir comment lancer une commande du terminal automatiquement à la fermeture de session...? Est-ce possible?


--------------------
MacBook Pro 13' Core i5 2,3 Ghz - 8 Go - 750 Go (Momentus XT) - OS X Mountain Lion
iPhone 4 32 Gb
Apple TV 3

Ancien matos:
Macintosh SE/30, Macintosh Performa 6400/200, iMac DV G3 500 Mhz, iBook 12' G3 500 Mhz, iBook 14' G4 1.33 Ghz, Macbook Pro 15' 1.83 Ghz, Macbook Pro 13' unibody Core2Duo 2.26 Ghz, Macbook Pro 13' unibody Core2Duo 2.4 Ghz
Go to the top of the page
 
+Quote Post
manu_t
posté 11 Oct 2003, 23:22
Message #2


Adepte de Macbidouille
*

Groupe : Membres
Messages : 178
Inscrit : 22 May 2003
Lieu : Marseille
Membre no 7 716



j'ai pas (encore) la réponse.
J'ai juste essayé les fichiers .login et .logout

ça marche seulement avec une fenêtre de terminal. :cry:
Je me dis que ça doit bien être possible, avec un truc du même genre.
Go to the top of the page
 
+Quote Post
iMacX
posté 12 Oct 2003, 01:31
Message #3


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 376
Inscrit : 25 Jun 2003
Lieu : Bruxelles
Membre no 8 250



Sous OS 9 il y avait moyen de mettre un fichier ds un dossier ds le dossier system pour qu'il se lance à la fermeture, cela devrait etre possible sous OS X non?
Et en applescript? Quelqu'un s'y connait?


--------------------
MacBook Pro 13' Core i5 2,3 Ghz - 8 Go - 750 Go (Momentus XT) - OS X Mountain Lion
iPhone 4 32 Gb
Apple TV 3

Ancien matos:
Macintosh SE/30, Macintosh Performa 6400/200, iMac DV G3 500 Mhz, iBook 12' G3 500 Mhz, iBook 14' G4 1.33 Ghz, Macbook Pro 15' 1.83 Ghz, Macbook Pro 13' unibody Core2Duo 2.26 Ghz, Macbook Pro 13' unibody Core2Duo 2.4 Ghz
Go to the top of the page
 
+Quote Post
ploute
posté 12 Oct 2003, 14:29
Message #4


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 293
Inscrit : 25 Apr 2003
Membre no 7 294



Hello, j'ai lu ce topic ce matin et j'avais pas de réponse. Un peu plus tard en cherchant carrément autre chose, je suis tombé sur ceci (macosxhints.com)
Pour les gens pressés, tout est là :
CODE
sudo defaults write com.apple.loginwindow LogoutHook /le/chemin/vers/votre/script_ou_prog
Go to the top of the page
 
+Quote Post
iMacX
posté 12 Oct 2003, 18:07
Message #5


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 376
Inscrit : 25 Jun 2003
Lieu : Bruxelles
Membre no 8 250



Voila, je viens d'essayer mais ca n'a pas l'air de fonctionner. Quelle est l'instruction pour annuler cette commande? J'ai été voir ds le com.apple.loginwindow mais je ne vois pas la valeur LogoutHook...


--------------------
MacBook Pro 13' Core i5 2,3 Ghz - 8 Go - 750 Go (Momentus XT) - OS X Mountain Lion
iPhone 4 32 Gb
Apple TV 3

Ancien matos:
Macintosh SE/30, Macintosh Performa 6400/200, iMac DV G3 500 Mhz, iBook 12' G3 500 Mhz, iBook 14' G4 1.33 Ghz, Macbook Pro 15' 1.83 Ghz, Macbook Pro 13' unibody Core2Duo 2.26 Ghz, Macbook Pro 13' unibody Core2Duo 2.4 Ghz
Go to the top of the page
 
+Quote Post
ploute
posté 12 Oct 2003, 19:22
Message #6


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 293
Inscrit : 25 Apr 2003
Membre no 7 294



Mouarf, j'ai pas précisé que ct juste un lien vers un article que j'ai lu, mais pas essayé... encore une histoire de version du système ? Bon, en effet si je fais un write comme indiqué il bronche pas mais un read me dit qu'il n'y a rien... Par contre dans les infos apple on trouve ceci.

Il faut modifier le /etc/ttys pour ajouter l'option -LogoutHook avec le script qui va bien. J'essaie et j'vous dis biggrin.gif

EDIT : ça marche 8) Je suis sous 10.2.8, imac DV G3 500.
Détail intéressant : mon script de test se contentait d'écrire dans un fichier la date et l'heure (commande date quoi) suivie de "$*" biggrin.gif C'est à dire tous les paramètres passés au script. Résultat des courses : LoginWindow appelle le hook avec le nom (court) de login du user qui avait la session.
Go to the top of the page
 
+Quote Post
manu_t
posté 13 Oct 2003, 20:04
Message #7


Adepte de Macbidouille
*

Groupe : Membres
Messages : 178
Inscrit : 22 May 2003
Lieu : Marseille
Membre no 7 716



Faut que j'apprenne à lire en diagonale :
J'avais vu cette page et sans toi j'aurais manqué l'info

merci
Go to the top of the page
 
+Quote Post
iMacX
posté 13 Oct 2003, 21:41
Message #8


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 376
Inscrit : 25 Jun 2003
Lieu : Bruxelles
Membre no 8 250



QUOTE (ploute @ 12 Oct 2003, 20:22)
Il faut modifier le /etc/ttys pour ajouter l'option -LogoutHook avec le script qui va bien. J'essaie et j'vous dis biggrin.gif

Ds le fichier ttys, je rajoute simplement "-logoutHook /chemin du fichier" a la suite de ce qu'il y a ds ce fichier?

En dessous de ca:

tty05 "/usr/libexec/getty std.9600" unknown off secure
tty06 "/usr/libexec/getty std.9600" unknown off secure
tty07 "/usr/libexec/getty std.9600" unknown off secure


ou de ca:

ttyqd none network
ttyqe none network
ttyqf none network


--------------------
MacBook Pro 13' Core i5 2,3 Ghz - 8 Go - 750 Go (Momentus XT) - OS X Mountain Lion
iPhone 4 32 Gb
Apple TV 3

Ancien matos:
Macintosh SE/30, Macintosh Performa 6400/200, iMac DV G3 500 Mhz, iBook 12' G3 500 Mhz, iBook 14' G4 1.33 Ghz, Macbook Pro 15' 1.83 Ghz, Macbook Pro 13' unibody Core2Duo 2.26 Ghz, Macbook Pro 13' unibody Core2Duo 2.4 Ghz
Go to the top of the page
 
+Quote Post
ploute
posté 13 Oct 2003, 22:08
Message #9


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 293
Inscrit : 25 Apr 2003
Membre no 7 294



Non (as-tu lu l'article d'apple ? ok il parle de plein de trucs dont tu te fiches)

Il s'agit d'un argument de la commande consolewindow, tu dois mettre ça comme dans cet exemple :
(ici le script c'est "/Users/bob/bin/logout.sh")
CODE
console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow -LogoutHook /Users/bob/bin/logout.sh" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"

Et attention si le chemin vers le fichier comporte des espaces, il faut mettre des antislash devant les espaces, comme ne le suggère pas ta question wink.gif
Go to the top of the page
 
+Quote Post
iMacX
posté 13 Oct 2003, 22:14
Message #10


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 376
Inscrit : 25 Jun 2003
Lieu : Bruxelles
Membre no 8 250



QUOTE (ploute @ 13 Oct 2003, 23:08)
Non (as-tu lu l'article d'apple ? ok il parle de plein de trucs dont tu te fiches)

Il s'agit d'un argument de la commande consolewindow, tu dois mettre ça comme dans cet exemple :
(ici le script c'est "/Users/bob/bin/logout.sh")
CODE
console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow -LogoutHook /Users/bob/bin/logout.sh" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"

Et attention si le chemin vers le fichier comporte des espaces, il faut mettre des antislash devant les espaces, comme ne le suggère pas ta question wink.gif

Ok, donc je mets tout ca ds le terminal et je change juste "/Users/bob/bin/logout.sh" par le chemin d'acces vers mon script shell, c'est ca?


--------------------
MacBook Pro 13' Core i5 2,3 Ghz - 8 Go - 750 Go (Momentus XT) - OS X Mountain Lion
iPhone 4 32 Gb
Apple TV 3

Ancien matos:
Macintosh SE/30, Macintosh Performa 6400/200, iMac DV G3 500 Mhz, iBook 12' G3 500 Mhz, iBook 14' G4 1.33 Ghz, Macbook Pro 15' 1.83 Ghz, Macbook Pro 13' unibody Core2Duo 2.26 Ghz, Macbook Pro 13' unibody Core2Duo 2.4 Ghz
Go to the top of the page
 
+Quote Post
ploute
posté 13 Oct 2003, 22:58
Message #11


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 293
Inscrit : 25 Apr 2003
Membre no 7 294



QUOTE (iMacX @ 13 Oct 2003, 23:14)
Ok, donc je mets tout ca ds le terminal et je change juste "/Users/bob/bin/logout.sh" par le chemin d'acces vers mon script shell, c'est ca?

Pas du tout ohmy.gif

Désolé j'ai pas été très clair, tu étais plus près de la solution avant... Reprenons point par point :

- Il s'agit bien de modifier le fichier /etc/ttys. Ce n'est pas une commande à taper dans le Terminal.

- Dans ce fichier il y a cette ligne, elle se trouve en haut après quelques commentaires :
CODE
console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"


- Il faut y ajouter ' -LogoutHook /Users/bob/bin/logout.sh' , pas à la fin de la ligne, mais juste après le mot 'loginwindow', juste avant la fermeture des guillemets. On obtient ceci :
CODE
console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow  -LogoutHook /Users/bob/bin/logout.sh" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"
EDIT : Ne pas copier-coller les lignes telles quelles, car normalement c'est une seule ligne de texte, avec retours à la ligne à cause de la présentation HTML de cette page.

- Effectivement, '/Users/bob/bin/logout.sh' est un exemple, tu mets le vrai chemin vers ton script à toi que tu as.

- Attention, pour modifier ce fichier, il faut être 'root'. Pour ouvrir ce fichier avec TextEdit avec les droits root, taper ceci dans le Terminal (bon tu connais sudo, il va te demander ton mot de passe) :
CODE
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/ttys


PS : je crois comprendre que tu n'est pas très sûr de toi (dans le cas contraire, tu devrais t'inquiéter biggrin.gif), alors fais très attention, il vaut mieux savoir ce qu'on fait en modifiant ce fichier !
Go to the top of the page
 
+Quote Post
iMacX
posté 15 Oct 2003, 13:34
Message #12


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 376
Inscrit : 25 Jun 2003
Lieu : Bruxelles
Membre no 8 250



Merci beaucoup pour ces expliquations très claires, j'essaye ce soir et je dirai quoi...


--------------------
MacBook Pro 13' Core i5 2,3 Ghz - 8 Go - 750 Go (Momentus XT) - OS X Mountain Lion
iPhone 4 32 Gb
Apple TV 3

Ancien matos:
Macintosh SE/30, Macintosh Performa 6400/200, iMac DV G3 500 Mhz, iBook 12' G3 500 Mhz, iBook 14' G4 1.33 Ghz, Macbook Pro 15' 1.83 Ghz, Macbook Pro 13' unibody Core2Duo 2.26 Ghz, Macbook Pro 13' unibody Core2Duo 2.4 Ghz
Go to the top of the page
 
+Quote Post
iMacX
posté 18 Oct 2003, 00:15
Message #13


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 376
Inscrit : 25 Jun 2003
Lieu : Bruxelles
Membre no 8 250



Un tout grand merci, ca fonctionne impec... biggrin.gif


--------------------
MacBook Pro 13' Core i5 2,3 Ghz - 8 Go - 750 Go (Momentus XT) - OS X Mountain Lion
iPhone 4 32 Gb
Apple TV 3

Ancien matos:
Macintosh SE/30, Macintosh Performa 6400/200, iMac DV G3 500 Mhz, iBook 12' G3 500 Mhz, iBook 14' G4 1.33 Ghz, Macbook Pro 15' 1.83 Ghz, Macbook Pro 13' unibody Core2Duo 2.26 Ghz, Macbook Pro 13' unibody Core2Duo 2.4 Ghz
Go to the top of the page
 
+Quote Post
padbrest
posté 29 Oct 2008, 21:00
Message #14


Nouveau Membre


Groupe : Membres
Messages : 13
Inscrit : 5 Oct 2004
Membre no 24 690



Je suis bien intéressé par le message ci-dessous, mais l'échange date de... cinq ans !
Est-ce que cette formule de sorcellerie est encore valable pour Tiger et Leopard ?
Merci !

CITATION(ploute @ 13 Oct 2003, 23:58) [snapback]440109[/snapback]
(...) Reprenons point par point :

- Il s'agit bien de modifier le fichier /etc/ttys. Ce n'est pas une commande à taper dans le Terminal.

- Dans ce fichier il y a cette ligne, elle se trouve en haut après quelques commentaires :
CODE
console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"


- Il faut y ajouter ' -LogoutHook /Users/bob/bin/logout.sh' , pas à la fin de la ligne, mais juste après le mot 'loginwindow', juste avant la fermeture des guillemets. On obtient ceci :
CODE
console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow  -LogoutHook /Users/bob/bin/logout.sh" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"
EDIT : Ne pas copier-coller les lignes telles quelles, car normalement c'est une seule ligne de texte, avec retours à la ligne à cause de la présentation HTML de cette page.
- Effectivement, '/Users/bob/bin/logout.sh' est un exemple, tu mets le vrai chemin vers ton script à toi que tu as.
- Attention, pour modifier ce fichier, il faut être 'root'. Pour ouvrir ce fichier avec TextEdit avec les droits root, taper ceci dans le Terminal (bon tu connais sudo, il va te demander ton mot de passe) :
CODE
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/ttys



--------------------
pAd - Brest
Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
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 : 28th March 2024 - 09:22