Come ripristinare il PATH launchctl ai valori predefiniti?

2

Ci sono molte domande e commenti sull'uso di launchctl setenv PATH /path/to/include per fare in modo che le app della GUI ereditino i percorsi specificati dall'utente. L'ho fatto circa quattro anni fa e le modifiche che ho aggiunto sono continuate a 10.11.6 (sistema operativo attuale). Sfortunatamente per me, ho dimenticato da tempo queste impostazioni fino a poco tempo fa ...

Nessuna delle pagine man o dei commenti indica come ripristinare queste modifiche ai valori di fabbrica. Ad esempio, l'esecuzione di launchctl getenv PATH produce:

/usr/local/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/e2fsprogs/sbin:/usr/local/opt/e2fsprogs/bin:/usr/local/opt/flex/bin:/usr/local/opt/gettext/bin:/usr/local/opt/[email protected]/bin:/usr/local/opt/openssl/bin:/usr/local/opt/qt/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Frameworks/GDAL.framework/Versions/2.1/Programs:/Library/Python/2.7/site-packages:/usr/local/lib/python2.7/site-packages:/Applications/Wireshark.app/Contents/MacOS

L'esecuzione di launchctl setenv PATH [blank] è evidentemente un errore, che richiede un valore non vuoto. Sono anche riluttante a sperimentare così tanto perché non so se esiste un'impostazione predefinita macOS per questa coppia chiave-valore.

Qualcuno può dirmi come posso scaricare il contenuto corrente di launchctl getenv PATH o restituire il suo contenuto a ciò che apparirebbe in una nuova installazione? Preferirei non sostituire quello che è attualmente presente con i percorsi predefiniti da /etc/profile e simili, a meno che questi siano gli stessi valori che appaiono quando si esegue launchctl getenv PATH su una nuova installazione.

Modifica

L'esecuzione di launchctl unsetenv PATH ha cancellato la variabile, ma non è persistita dopo il riavvio - cioè, gli stessi valori di percorso restituiti dopo un riavvio.

    
posta grad student 19.02.2018 - 05:48
fonte

1 risposta

1

Ciò che ha funzionato per ripristinare i "predefiniti di fabbrica" predefiniti per me era eseguire:

sudo launchctl config user path /usr/bin:/bin:/usr/sbin:/sbin

Questo non è diverso dal consiglio visto qui ( Imposta la variabile PATH in modo che venga rilevata in tutte le applicazioni, anche al di fuori del terminale. (El Captain) ). Ma rimangono alcune domande persistenti:

  1. Questa procedura ripristina cosa c'era già nella coppia valore-chiave di user path , oppure stabilisce una nuova impostazione che altrimenti sarebbe vuota?
  2. Dove, cioè, in quale file o database, è memorizzato questo valore-chiave?
risposta data 19.02.2018 - 17:40
fonte

Leggi altre domande sui tag