7 votos

Puedo iniciar automáticamente una aplicación en un momento específico en Mavericks?

Durante años, he estado usando iCal para ejecutar automáticamente las aplicaciones que utilizan las alarmas. Me gustaría crear un nuevo evento en iCal y configurar la alarma para iniciar una aplicación, en lugar de mostrar una notificación. La opción de establecer alarmas para lanzar aplicaciones o direcciones Url (etc) parece haber sido retirado de Calendario en Mavericks, lo que significa que mi automática de aplicaciones no lanzar más.

¿Cómo puedo obtener esta funcionalidad de vuelta en Mavericks. No tiene que ser en el Calendario (aunque, grrr, me gustaría que todavía se trabaja! Me encantó tener un calendario en el que se mostró todos mis automáticamente las aplicaciones y los tiempos de un vistazo!).

Ejemplo: Hay una excelente app de Flickr llamado SuprSetr que me gustaría para que inicie automáticamente cada mañana a las 3:55 de la mañana. Cómo?

10voto

moodforaday Puntos 2633

La gran cosa acerca de una pregunta específica es que se puede dar una respuesta específica.

Por ejemplo, el OP dijo: "Hay una excelente app de Flickr llamado SuprSetr que me gustaría para que inicie automáticamente cada mañana a las 3:55 de la mañana. ¿Cómo?"

Respuesta: Guardar los siguientes como com.tjluoma.SuprSetr.plist (o cualquiera sea el nombre que prefiera, pero debe terminar con .plist) y ponerlo en la carpeta ~/Library/LaunchAgents (donde ~ es su Directorio de Inicio):

<?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>

Y luego, una vez que el archivo está en su lugar, usted debe introducir este comando en la Terminal:

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

Entonces estará listo para el lanzamiento de la app SuprSetr a las 3:55 de la mañana todos los días. (Nota: si el equipo está dormido a las 3:55 de la mañana, se ejecutará cuando el equipo se despierta.)

A partir de ese ejemplo concreto, una vez que usted entienda que lo esta plist archivo que hace es decirle a launchd a ejecutar el comando de Terminal:

/usr/bin/open -a SuprSetr

a la hora de '3' y en el minuto '55', entonces debe ser fácil de extrapolar a partir de otras aplicaciones que desea ejecutar en otras ocasiones.

Ahora, si quieres escribir de estos manuales, usted puede hacerlo por libre, pero que una aplicación como Lingon es una buena opción (yo recomiendo no comprar la versión de Mac App Store, la app me parece algo que Apple no va a gustar en el mundo de sandboxing, y te gustaría conseguir una de las características más ricos de la aplicación de los desarrolladores.

Mi preferencia personal es para una app llamada LaunchControl que es gratis para probar, y luego el desarrollador pide algo razonable de US$10, pero no hay DRM, sin códigos de licencia, pero en su lugar se basa en el buen ol' sistema de honor. (Es mi esperanza de que la gente que la usa a la altura de los desarrolladores de la fe en el sistema.)

2voto

abjbhat Puntos 184

Parece que Apple ha eliminado la funcionalidad integrada de Calendario. Sin embargo, hay aplicaciones 3 ª parte que puede lanzar aplicaciones automáticamente a una hora especificada.

Trate de Lingon -funciona en Mavericks...

2voto

La opción para abrir un URL en iCal en realidad fue eliminado en Mountain Lion, pero ahora usted puede utilizar las alarmas del Calendario en su lugar:

El uso de launchd, usted podría ahorrar un plist como este, como por ejemplo ~/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>

A continuación, ejecute launchctl load ~/Library/LaunchAgents/openmail.plist.

Una tercera opción es ejecutar EDITOR=nano crontab -e y añadir una línea como esta:

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

open -jga abre una aplicación oculta y por lo general sin plantear ninguna de windows. Para algunas aplicaciones como el Correo electrónico y TextEdit, se crea y se plantea una nueva ventana por defecto si la aplicación se está ejecutando, pero no tiene ninguna ventana visible, pero se puede usar pgrep para comprobar si la aplicación se ejecuta en primer lugar.

Si desea abrir la aplicación en primer plano, utilice sólo open -a.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X