Extinction automatique sous Tiger

zigune

Membre enregistré
14 Septembre 2005
3
0
43
Bonjour,

je vous avise que je ne connais rien aux Macs alors si vous me répondez faudra peut-être être assez précis...

J'ai un iMac G5 avec Tiger sur lequel je dois faire tourner toute la journée un Diaporama. Celui-ci tourne avec "iView MediaPro".
Comme ce Mac est dans une entreprise, on aimerait bien qu'il s'éteigne automatiquement le soir.

J'ai donc fait ceci :

Menu Pomme -> Préférences Système -> Economiseur d'énergie -> Bouton "Programmer" -> "Eteindre tous les jours à 18h00".

Le problème est que l'ordinateur ne s'éteint pas. Il me met le message suivant :

"Fermeture de session annulée car l'application iView MediaPro n'a pu quitter. Quitter iView MediaPro, puis choisissez "Fermer la session" dans le menu Apple."

Je vois bien le problème, il ne veut pas s'éteindre car il y a une application qui tourne, mais alors à quoi bon cela peut-il bien servir de faire éteindre l'ordinateur automatiquement si aucune application n'est en train de tourner ? (Si rien ne tourne, l'ordinateur ne sert à rien et on peut l'éteindre lors de la fermeture de la dernière application !!!!)

Bref, j'ai un peu de peine avec cette logique, l'ordinateur ne devrait-il pas fermer mon application avant de s'éteindre ?

Note : J'ai également essayé de faire tourner mon diaporama avec iPicture, mais rien ne change, le problème ne vient certainement pas de mon application.

Voilà, merci pour votre aide.
 
zigune a dit:
(...) le problème ne vient certainement pas de mon application. (...)
Et bien si, justement. Généralement les applications ne s'opposeront à l'extinction que s'il y a un travail non sauvegardé en cours (si vous voulez voir par vous-même, vous pouvez faire un essai avec TextEdit par exemple).

Dans votre cas, peut-être faut-il arrêter le diaporama pour permettre à l'application de quitter.

La solution au problème serait donc de mettre l'application dans un état qui lui permettrait de quitter, ou alors de la forcer à quitter, avant de lancer l'extinction. Cela peut se faire en programmant l'exécution d'un script juste avant l'heure d'extinction (à 17h59, par exemple).
 
PA5CAL a dit:
La solution au problème serait donc de mettre l'application dans un état qui lui permettrait de quitter, ou alors de la forcer à quitter, avant de lancer l'extinction. Cela peut se faire en programmant l'exécution d'un script adéquat juste avant l'heure d'extinction (à 17h59, par exemple).

Ok, merci pour ta réponse. Mais comme je l'ai dit, je ne connais rien aux macs. Donc je fais comment un script de ce style ?

Merci bien.
 
PA5CAL a dit:
Cela peut se faire en programmant l'exécution d'un script adéquat juste avant l'heure d'extinction (à 17h59, par exemple).

Executer un script au démarrage, je vois comment faire, mais en programmer un avant l'extinction ?? C'est possible avec Tiger ou il faut un logiciel extérieur ?
 
Le script peut être fabriqué à l'aide de l'Editeur AppleScript et enregistré sous forme d'application.

Pour quitter une application comme TextEdit, par exemple, le script suivant convient :

Bloc de code:
tell application "TextEdit"
    quit saving no
end tell

Pour savoir quelles commandes utiliser avec votre application, rendez-vous dans le menu "Fichier->Ouvrir un dictionnaire" de l'Editeur AppleScript.


En ce qui concerne l'exécution à heure fixe de ce script, il est par exemple possible d'utiliser le daemon cron. Reportez-vous, sous Terminal, à l'aide sur la commande crontab.
 
PA5CAL a dit:
Le script peut être fabriqué à l'aide de l'Editeur AppleScript et enregistré sous forme d'application.

Pour quitter une application comme TextEdit, par exemple, le script suivant convient :

Bloc de code:
tell application "TextEdit"
quit saving no
end tell

Pour savoir quelles commandes utiliser avec votre application, rendez-vous dans le menu "Fichier->Ouvrir un dictionnaire" de l'Editeur AppleScript.


En ce qui concerne l'exécution à heure fixe de ce script, il est par exemple possible d'utiliser le daemon cron. Reportez-vous, sous Terminal, à l'aide sur la commande crontab.

Merci Pascal, je vais essayer tout ça.
 
J'ai trouvé encore mieux.

Compte tenu du fait que l'utilisation du cron peut être rébarbatif, il y a un moyen d'exécuter un script qui fasse:
1. l'exécution à heure programmée
2. la fermeture de l'application gênante
3. l'extinction de la machine

Voici le script:
Bloc de code:
on idle
  tell application "Finder"
    if get the time of (the current date) is greater than 64800 then

      tell application "TextEdit"
        quit saving no
      end tell

      shut down
      return 1
    end if
  end tell
end idle
64800 correspond à l'heure d'extinction, en secondes (18 heures x 3600 + 0 minutes x 60 + 0 secondes = 64800 secondes)

La partie:
Bloc de code:
tell application "TextEdit"
  quit saving no
end tell
est à remplacer par les commandes provoquant une fermeture correcte de votre application.

Le script peut être enregistré sous forme d'application tournant en arrière-plan (cocher la bonne case dans la fenêtre "Enregistrer sous" de l'Editeur de Script.

Il est possible de lancer le script au démarrage de la machine. Mais alors attention, il y aura extinction obligatoire après 18h00. Inutile d'espérer dans ces condition d'utiliser la machine le soir. Il faudra attendre minuit.

Edit: sinon il suffit de peaufiner le test de l'heure pour déterminer une plage horaire d'extinction de quelques minutes.