2008-10-01 9 views
6

Tengo un pequeño programa que quiero abrir automáticamente cuando mi Mac se inicia.¿Cómo puedo hacer que un programa se inicie automáticamente en OSX?

Debido a que este programa acepta los argumentos de línea de comandos, no es tan simple como ir a Sistema Prefs/Cuentas/productos login y agregar allí ...

de Google, leí que puedo crear un .profile archivo en la carpeta de inicio de mi usuario, y eso ejecutará lo que ponga en él ... Así que tengo una página .profile en ~ como esta:

-rw-r - r - @ 1 matt staff 27 27 13:36 septiembre .profile

que contiene este ...

/Aplicación lications/mousefix 3.5

¡Pero no se ejecuta en el arranque! Si ingreso manualmente// Applications/mousefix 3.5 "en la terminal, funciona.

¿Alguna idea?

+0

se supone Su .profile para funcionar cuando se abre un terminal, no en el inicio y no cuando inicia sesión en la GUI. ¿Eso está funcionando? –

Respuesta

11

Desde aquí y en el futuro, mira en launchd para lo que quiere hacer. Todos los otros métodos han quedado en desuso o ahora no son compatibles. Sin embargo, esto es probablemente un poco más pesado de lo que quieres.

También podría ser un problema con su versión del shell bash que no ejecuta correctamente su .profile. Intente poner el comando en .bashrc en su directorio de inicio y vea si eso ayuda.

0

Siempre se podría escribir un guión envoltorio que se ejecuta con los argumentos que desea

3

La forma más general de iniciar cosas en el inicio en MacOS es usando launchd. Puede crear un archivo plist para indicarle que inicie su programa al inicio, lo que puede incluir argumentos.

4

Puede usar Lingon para ayudar a construir un archivo plist para launchd.

1

Puede usar Applescript, que puede ejecutar comandos de terminal, y luego ejecutar AppleScript al inicio.

0

Gracias a todos. La solución de lanzamiento es genial, sí, es un peso pesado para algo tan simple, pero es bueno saberlo, y como desarrollador estoy feliz de jugar :)

+0

launchd no es realmente tan pesado: llega a ser lo más eficiente posible para lo que hace. Es de código abierto para que pueda verificarlo usted mismo si lo desea: http://launchd.macosforge.org/ –

1

El .profile y .bash_profile solo entran en juego cuando abres un nuevo shell (es decir, abrir Terminal o ingresar a través de SSH). Además, creo que si se detecta fiesta .bash_profile no buscará .profile
Si desea que se inicie al iniciar la sesión, me gustaría ver las otras sugerencias sobre launchd

Cuestiones relacionadas