7 votes

Puis-je lancer automatiquement une application à une heure précise sur Mavericks ?

Depuis des années, j'utilise iCal pour lancer automatiquement des applications à l'aide d'alarmes. Je créais un nouvel événement dans iCal et réglais l'alarme pour qu'elle lance une application plutôt que d'afficher une notification. L'option permettant de définir des alarmes pour lancer des applications ou des URL (etc.) semble avoir été supprimée de Calendar dans Mavericks, ce qui signifie que mes applications automatiques ne se lancent plus.

Comment puis-je retrouver cette fonctionnalité dans Mavericks ? Il n'est pas nécessaire que ce soit dans Calendrier (même si, grrr, j'aimerais que cela fonctionne encore ! J'adorais avoir un calendrier qui affichait toutes mes applications et heures lancées automatiquement d'un seul coup d'œil).

Exemple : Il existe une excellente application Flickr appelée SuprSetr que j'aimerais lancer automatiquement chaque matin à 3h55. Comment faire ?

10voto

moodforaday Points 2633

L'avantage d'une question spécifique est qu'elle peut recevoir une réponse spécifique.

Par exemple, l'OP a dit : "Il existe une excellente application Flickr appelée SuprSetr que j'aimerais lancer automatiquement tous les matins à 3h55. Comment faire ?"

Réponse : Sauvegarder ce qui suit en tant que com.tjluoma.SuprSetr.plist (ou tout autre nom que vous préférez, mais il doit se terminer par .plist) et placez-le dans le dossier ~/Library/LaunchAgents (où ~ est votre répertoire d'origine) :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>AbandonProcessGroup</key>
    <true/>
    <key>Disabled</key>
    <false/>
    <key>Label</key>
    <string>com.tjluoma.SuprSetr</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/open</string>
        <string>-a</string>
        <string>SuprSetr</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Hour</key>
            <integer>3</integer>
            <key>Minute</key>
            <integer>55</integer>
        </dict>
    </array>
</dict>
</plist>

Puis, une fois le fichier en place, vous devez entrer cette commande dans Terminal :

launchctl load ~/Library/LaunchAgents/com.tjluoma.SuprSetr.plist

Il sera alors prêt à lancer l'application SuprSetr à 3h55 tous les jours. (Remarque : si l'ordinateur est endormi à 3h55, l'application sera lancée au réveil de l'ordinateur).

A partir de cet exemple précis, une fois que l'on a compris ce qu'est cette plist fichier fait fait est dit launchd pour exécuter la commande Terminal :

/usr/bin/open -a SuprSetr

à l'heure "3" et à la minute "55", il devrait être facile d'extrapoler à partir de là pour d'autres applications que vous souhaitez exécuter à d'autres moments.

Si vous souhaitez rédiger tous ces documents à la main, vous pouvez le faire gratuitement, mais une application telle que Lingon est un bon choix (je recommande pas acheter la version Mac App Store, car l'application me semble être quelque chose qu'Apple ne va pas apprécier dans le monde du sandboxing, et vous obtiendrez une application plus riche en fonctionnalités de la part du développeur.

Ma préférence va à une application appelée LaunchControl dont l'essai est gratuit, puis le développeur demande une somme raisonnable de l'ordre de 10 dollars, mais il n'y a pas de DRM, pas de codes de licence, mais plutôt un bon vieux système d'honneur. (J'espère que les personnes qui l'utiliseront seront à la hauteur de la confiance du développeur dans ce système).

2voto

kenneedham Points 92

Il semble qu'Apple ait supprimé la fonctionnalité intégrée de Calendar. Cependant, il existe des applications tierces qui peuvent lancer des applications automatiquement à un moment précis.

Pruebe Lingon -Cela fonctionne avec Mavericks...

2voto

L'option permettant d'ouvrir une URL dans iCal a été supprimée dans Mountain Lion, mais vous pouvez désormais utiliser les alarmes du calendrier à la place :

Utilisation lancementd Vous pouvez enregistrer une liste de contrôle comme suit, par exemple ~/Library/LaunchAgents/openmail.plist :

<?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>openmail</string>
  <key>ProgramArguments</key>
  <array>
    <string>bash</string>
    <string>-c</string>
    <string>pgrep -x Mail||open -jga Mail</string>
  </array>
  <key>StartCalendarInterval</key>
  <dict>
    <key>Hour</key>
    <integer>3</integer>
    <key>Minute</key>
    <integer>55</integer>
  </dict>
</array>
</plist>

Exécutez ensuite launchctl load ~/Library/LaunchAgents/openmail.plist .

Une troisième option consiste à exécuter EDITOR=nano crontab -e et ajoutez une ligne comme celle-ci :

55 3 * * * pgrep -x Mail||open -jga Mail

open -jga ouvre une application cachée et généralement sans faire apparaître Windows. Pour certaines applications comme Mail et TextEdit, il crée et ouvre une nouvelle fenêtre par défaut si l'application est en cours d'exécution mais n'a pas de fenêtre visible, mais vous pouvez utiliser pgrep pour vérifier d'abord si l'application est en cours d'exécution.

Si vous souhaitez ouvrir l'application au premier plan, utilisez simplement open -a .

0voto

hoffman Points 101

J'ai eu exactement le même problème et j'ai trouvé une application sur l'app store qui fournit une interface utilisateur graphique pour Launchd, elle s'appelle Plisterine .

Mon cas d'utilisation était de déjeuner Outlook pour Mac à une heure précise, la laisser ouverte pendant une heure puis la refermer. Pour cela, j'ai créé un Automate comme le montre la capture d'écran ci-dessous :

The Automator workflow

Vous pouvez ignorer le message " L'application reçoit des fichiers et des dossiers en entrée "car elle n'est pas nécessaire pour ce flux de travail.

J'ai ensuite ajouté une nouvelle entrée sur Launchd en utilisant Plisterine afin que le flux de travail Automator soit déclenché à la date prévue, voir la capture d'écran ci-dessous :

Adding an entry on Launchd in Plisterine

Il fonctionne comme un charme et est facile à installer.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X