Dove sono impostate le variabili di ambiente di sistema in Mountain Lion?

44

In Lion (e versioni precedenti) era in .MacOSX/environment.plist . Dopo l'aggiornamento a 10.8, il file è ancora lì, ma le variabili non stanno prendendo.

Ho anche provato ad aggiungerli a /etc/launchd.conf e verranno visualizzati nel terminale, ma non nelle applicazioni GUI (come il mio IDE).

    
posta Felix 25.07.2012 - 19:12
fonte

5 risposte

21

Ho fatto questa domanda anche ai forum degli sviluppatori Apple e ho risposto a questa domanda, risposta ufficiale.

Change the Info.plist of the .app itself to contain an "LSEnvironment" dictionary with the environment variables you want.
~/.MacOSX/environment.plist is no longer supported.

    
risposta data 25.07.2012 - 20:22
fonte
19

So che questa è una vecchia domanda, ma ho pensato di far notare che in Yosemite /etc/launchd.conf non funziona più (come confermato dalla pagina man). Quindi ecco un'alternativa.

Avvia AppleScript Editor, inserisci un comando come questo:

do shell script "launchctl setenv variablename value"

(aggiungi tutte le linee che vuoi)

Ora salva (⌘S) come Formato file: Applicazione . Finalmente apri Impostazioni di sistema Utenti e amp; Gruppi Elementi di accesso e aggiungi la tua nuova applicazione.

    
risposta data 19.09.2014 - 19:54
fonte
10

Come hai scoperto, l'uso del file environment.plist non è più seguito, il variabili memorizzate in Info.plist come le stringhe LSEnvironment sono impostate solo da launchd .

Non puoi dipendere da loro per impostare una variabile di ambiente generale che il terminale imposterà se chiami direttamente il tuo programma dal terminale / shell. La buona notizia è che il comando open -a attiva triggerd per eseguire l'avvio, quindi le variabili verranno impostate in modo coerente per l'ambiente dell'app, se non per l'ambiente shell locale.

    
risposta data 25.07.2012 - 21:10
fonte
4

L'impostazione delle variabili d'ambiente in /etc/launchd.conf è la strada da percorrere: ogni applicazione lanciata dopo un riavvio da shell locali, Finder o Spotlight eredita queste variabili - Ho testato molto questo problema con Mountain Lion 10.8. 3.

2 caveat:

risposta data 16.04.2013 - 01:29
fonte
2

Prova launchctl setenv NAME VALUE . Non so se / cosa fa in modo diverso dalla modifica di launchd .conf, ma funziona per me sia nelle applicazioni Terminal che in quelle GUI. Ulteriori dettagli.

Nota che questo non sopravvive attraverso un riavvio. Ecco un modo per risolvere il problema .

    
risposta data 17.03.2013 - 07:54
fonte

Leggi altre domande sui tag