Come posso impostare le variabili di ambiente per le app della GUI in OS X Mavericks?


19

Ho faticato a far funzionare un'applicazione in OS X Mavericks. Finalmente sono riuscito a farlo funzionare eseguendo il drilling nel pacchetto .app e eseguendo direttamente lo script della shell. Sembra che JAVA_HOME abbia bisogno di essere impostato. Così l'ho impostato nel mio .profile nella shell e tutto funziona correttamente.

Tuttavia, se voglio semplicemente fare clic sull'icona nel dock, non verrà eseguito. La mia ipotesi è che questo sia perché JAVA_HOME non è impostato a livello globale. Poiché non eseguo l'app direttamente dalla shell, OS X non sa cosa sia JAVA_HOME. Continua a guardare.

Nelle versioni precedenti di OS X, sembra che le variabili di ambiente possano essere impostate per le applicazioni GUI semplicemente aggiungendole a /etc/launchd.conf. Questo file non sembra esistere in Mavericks. Come posso impostare una variabile di ambiente globale che funzioni per le applicazioni GUI in Mavericks?

Risposte:


24

/etc/launchd.conf non è mai esistito per impostazione predefinita, ma funziona ancora in 10.9.

  1. Esegui per esempio sudo nano /etc/launchd.conf.
  2. Aggiungi una linea come setenv JAVA_HOME /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home. (Non so cosa JAVA_HOME dovrebbe in effetti essere impostato su.)
  3. O riavviare o eseguire launchctl < /etc/launchd.conf; sudo launchctl < /etc/launchd.conf e rilancia processi.

launchctl export stampa le variabili esportate dal processo di avvio dell'utente e sudo launchctl export stampa le variabili esportate dal processo di avvio di root.

Questo metodo può anche essere utilizzato per impostare un percorso predefinito. Ad esempio ho aggiunto questa linea a /etc/launchd.conf:

setenv PATH /Users/lauri/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:/usr/texbin

(Ero solito /Users/lauri/bin invece di ~/bin perché ~/bin sarebbe /var/root/bin per i programmi eseguiti come root.)


5
+1 per spiegare come ottenere cambiamenti in /etc/launchd.conf senza riavviare il sistema. Per la configurazione dei file delle variabili di ambiente PATH in /etc/paths.d/ dovrebbe essere usato.
Timo Meinen

3
In realtà, /etc/launchd.conf non funziona più dopo le 10.10
OleGG
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.