2009-12-07 7 views
5

Ho creato un file jar in java e voglio che l'applicazione si avvii automaticamente all'avvio del sistema. Ho scoperto che devo scrivere uno script di shell per questo. Come dovrebbe essere lo script di shell? C'è qualcos'altro che devo fare per far avviare automaticamente un'applicazione all'avvio?Come posso scrivere uno script di avvio per Mac OS X?

risposta

11

Il modo migliore per avviare i programmi all'avvio di OS X è creare un daemon launchd come spiegato here.

+0

Ciao Ned Deily, ho letto l'articolo. Ma ho trovato un problema. Lì ho trovato come eseguire il cron file basato sul tempo. Ma quello che dobbiamo scrivere per eseguire l'applicazione durante l'avvio non è menzionato. lasciare che ex1.app sia il mio file applicativo. Quindi cosa devo scrivere per avviare quell'aocazione durante l'avvio –

+0

Le informazioni rilevanti sono la sezione 'Creazione di uno script di avvio '. Dovresti trovare anche le pagine man sul tuo sistema per launchd, launchd.plist e launchctl. E anche se non viene più mantenuto, l'applicazione gratuita Lingon di Peter Borg (http://lingon.sourceforge.net/) facilita la creazione e la modifica di launchd.plists. –

+0

Grazie Ned Deily, davvero la tua risposta mi ha aiutato molto. Grazie per il vostro sostegno. Stai attento. –

0

Lo shellscript sarebbe qualcosa di simile a questo:

cd /directory/to/jar 
java -jar Jar.jar 

O forse in realtà non hanno bisogno di scrivere Jar.jar, solo Jar. Non ricordo abbastanza.

2

In mac os x puoi anche solo eseguire "open program.jar" (o qualsiasi cartella, '-a' per applicazioni native) e si aprirà staccato dal terminale con qualsiasi impostazione di ambiente predefinita che userebbe se hai appena fatto doppio clic su di esso.

È inoltre possibile aggiungere un programma (o lo script) agli elementi di accesso dell'utente tramite Preferenze di sistema> Account> "nome utente"> Elementi di accesso. Questo è completamente punta e clicca e non richiede uno script di shell

+0

Gli elementi di accesso vengono avviati quando un utente esegue il login, non durante l'avvio del sistema come l'OP richiesto. –

+0

Vero, ma la maggior parte dei mac sono impostati per l'accesso automatico ime - ottenendo così lo stesso obiettivo .. ma questo dipende dal thread starter per decidere se funziona per la sua situazione. – Mobs

+0

Heh, penso di aver eseguito OS X senza accesso automatico dal giorno di anteprima 1, quindi non l'avrei nemmeno considerato come un'opzione. Certamente non lo consiglio a seconda del login automatico. –