Necesito establecer una serie de variables de entorno que puedan ser vistas por las aplicaciones de la GUI (es decir, Xcode). Cuando se ejecuta desde un terminal esto es trivial y es simplemente un caso de añadir un. número de export
comandos a mi .bash_profile
Por ejemplo
export BOOST_INCLUDE=~/boost/boost-XXXX/boost
Lamentablemente, las aplicaciones de la interfaz gráfica no ven los valores establecidos en .bash_profile
. Estoy usando Catalina y parece que Apple modifica el mecanismo cada vez que se actualiza MacOS. Muchas guías online están desactualizadas....
Este artículo: http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/ sugiere que launchctl
debería hacer lo que necesito, pero incluso el siguiente ejemplo sencillo no funciona:
En una terminal:
/bin/launchctl setenv FOO BAR
A continuación, cierre el terminal y abra uno nuevo
Comprueba el valor:
echo $FOO
La salida debe ser
BAR
Pero no está configurado. Tenga en cuenta que también es unset en el terminal original, así que no estoy convencido de que el comando /bin/launchctl setenv FOO BAR
está haciendo algo.
Nota: Se trata de establecer la variable de entorno para las aplicaciones de la GUI, NO sólo para el terminal.