Durante años, he estado usando iCal para iniciar aplicaciones automáticamente usando alarmas. Crearía un nuevo evento en iCal y configuraría la alarma para iniciar una aplicación en lugar de mostrar una notificación. La opción de configurar alarmas para iniciar aplicaciones o URL (etc.) parece haber sido eliminada del Calendario en Mavericks, lo que significa que mis aplicaciones automáticas ya no se inician.
¿Cómo puedo recuperar esta funcionalidad en Mavericks? No tiene que estar en el Calendario (aunque, grrr, ¡ojalá eso todavía funcionara! ¡Me encantaba tener un calendario que mostrara todas mis aplicaciones y horas iniciadas automáticamente de un vistazo!).
Ejemplo: hay una excelente aplicación de Flickr llamada SuprSetr que me gustaría iniciar automáticamente cada mañana a las 3:55 am. ¿Cómo?
Lo mejor de una pregunta específica es que se le puede dar una respuesta específica.
Por ejemplo, el OP dijo: "Hay una excelente aplicación de Flickr llamada SuprSetr que me gustaría iniciar automáticamente cada mañana a las 3:55 am. ¿Cómo?"
Respuesta: guarde lo siguiente como com.tjluoma.SuprSetr.plist
(o el nombre que prefiera, pero debe terminar con .plist) y colóquelo 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, debe ingresar este comando en la Terminal:
launchctl load ~/Library/LaunchAgents/com.tjluoma.SuprSetr.plist
Entonces estará listo para lanzar la aplicación SuprSetr a las 3:55 am todos los días. (Nota: si la computadora está inactiva a las 3:55 a. m., se ejecutará cuando la computadora se despierte).
A partir de ese ejemplo específico, una vez que comprenda que lo que plist
hace este archivo es indicarle launchd
que ejecute el comando Terminal:
/usr/bin/open -a SuprSetr
en la hora '3' y el minuto '55', entonces debería ser fácil extrapolar eso a otras aplicaciones que desea ejecutar en otros momentos.
Ahora, si desea escribir todo esto a mano, puede hacerlo de forma gratuita, pero una aplicación como Lingon es una buena opción (recomiendo no comprar la versión de Mac App Store, ya que la aplicación me parece algo que A Apple no le va a gustar el mundo del sandboxing, y obtendrás una aplicación más rica en funciones del desarrollador.
Mi preferencia personal es una aplicación llamada LaunchControl que se puede probar gratis, y luego el desarrollador pide algo razonable como US $ 10, pero no hay DRM, ni códigos de licencia, sino que se basa en el buen sistema de honor. (Espero que las personas que lo usen estén a la altura de la fe del desarrollador en ese sistema).
Parece que Apple ha eliminado la funcionalidad integrada de Calendario. Sin embargo, existen aplicaciones de terceros que pueden iniciar aplicaciones automáticamente en un momento específico.
Prueba Lingon -funciona en Mavericks...
La opción de abrir una URL en iCal en realidad se eliminó en Mountain Lion, pero ahora puede usar las alarmas de Calendario en su lugar:
Usando launchd , puede guardar un plist como este, 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>
Entonces corre launchctl load ~/Library/LaunchAgents/openmail.plist
.
Una tercera opción es ejecutar EDITOR=nano crontab -e
y agregar una línea como esta:
55 3 * * * pgrep -x Mail||open -jga Mail
open -jga
abre una aplicación oculta y normalmente sin abrir ninguna ventana. Para algunas aplicaciones como Mail y TextEdit, crea y abre una nueva ventana predeterminada si la aplicación se está ejecutando pero no tiene ventanas visibles, pero puede usar pgrep para verificar si la aplicación se está ejecutando primero.
Si desea abrir la aplicación en primer plano, use solo open -a
.
Tuve exactamente el mismo problema y encontré una aplicación en la tienda de aplicaciones que proporciona una interfaz gráfica de usuario para Launchd, se llama Plisterine .
Mi caso de uso fue almorzar Outlook para Mac en un momento específico, mantenerlo abierto durante una hora y luego cerrarlo nuevamente. Para esto, creé una aplicación/flujo de trabajo de Automator como se muestra en la siguiente captura de pantalla:
Simplemente puede ignorar el mensaje "La aplicación recibe archivos y carpetas como entrada ", ya que no es necesario para este flujo de trabajo.
Luego agregué una nueva entrada en Launchd usando Plisterine para que el flujo de trabajo de Automator se active según lo programado, vea la captura de pantalla a continuación:
Funciona de maravilla y es fácil de configurar.
mike testamentos