Come posso avviare automaticamente un programma in OSX?
-
03-07-2019 - |
Domanda
Ho un piccolo programma che voglio aprire automaticamente all'avvio del mio mac.
Poiché questo programma accetta argomenti della riga di comando, non è così semplice come andare a Preferenze di sistema / Account / Elementi di accesso e aggiungerlo lì ...
Da Google, ho letto che posso creare un file .profile nella cartella home del mio utente e che eseguirà tutto ciò che ho inserito ... Quindi ho una pagina .profile in ~ in questo modo:
-rw-r - r - @ 1 matt staff 27 27 set 13:36 .profile
Questo contiene questo ...
/ Applicazioni / mousefix 3.5
Ma non viene eseguito all'avvio! Se inserisco " / Applicazioni / mousefix 3.5 " manualmente nel terminale, funziona.
Qualche idea?
Soluzione
Da qui e nel futuro, guarda <> <" <> Tutti gli altri metodi sono stati deprecati o ora non sono supportati. Questo è probabilmente un po 'più pesante di quello che vuoi, però.
Potrebbe anche essere un problema con la tua versione della shell bash che non esegue correttamente il tuo .profile
. Prova a mettere il comando in .bashrc
nella tua home directory e vedi se questo aiuta.
Altri suggerimenti
Puoi utilizzare Lingon per aiutarti a costruire un file plist per launchd.
Il modo più generale per avviare le cose all'avvio su MacOS è utilizzare launchd . È possibile creare un file plist per dirgli di avviare il programma all'avvio, che può includere argomenti.
Puoi usare Applescript che può eseguire i comandi del terminale, quindi lanciare quel applecript all'avvio.
.profile
e .bash_profile
entrano in gioco solo quando si apre una nuova shell (es. apertura del Terminale o accesso tramite SSH). Inoltre, credo che se bash rileverà .bash_profile
non cercherà .profile
Se lo desideri, inizia al login, darei un'occhiata agli altri suggerimenti su launchd
Puoi sempre scrivere uno script wrapper che lo esegue con gli argomenti che desideri
Grazie a tutti. La soluzione di lancio è piuttosto interessante, sì, è pesante per una cosa così semplice, ma è buono a sapersi, e come sviluppatore sono felice di armeggiare :)