Después de muchas pruebas con diferentes opciones, concluyo:
¿Existe una forma unificada de configurar las PATH
aplicaciones iniciadas por diferentes medios (como script de shell, Finder y Spotlight)? Pues sí y no:
- No : la configuración
PATH
en scripts de inicio de shell (p .bashrc
. Ej. ) Funciona solo para aplicaciones iniciadas por shells.
- No : la configuración
PATH
del launchd
proceso actual a través de launchctl setenv PATH <...>
no me funciona en absoluto.
- Sí : Ajuste
PATH
en /etc/launchd.conf
(y reiniciar el sistema) hará que la adecuada PATH
visible en las aplicaciones iniciadas por proyectiles (locales) Spotlight, Dock y Finder y posteriormente.
- No : los shells invocados de forma remota no heredan el entorno. (Ver ... ¿por qué los shells remotos a través de ssh NO heredan el entorno ...? )
Notas para la configuración de conchas:
Para un funcionamiento correcto en shells locales , es importante desactivar el uso de /usr/libexec/path_helper
, porque las rutas predeterminadas en /etc/paths
podrían cambiar el orden de las rutas en PATH
. **
Para acomodar shells remotos , debe volver a importar el launchd
entorno en el shell. Use algo como esto en su .bashrc
:
# the vexatious path stuff
eval $(launchctl export)
Las consecuencias desafortunadas de todo el problema son:
- No hay forma de tener estas configuraciones unificadas por usuario. (
~/.launchd.conf
no funciona)
- No hay una manera fácil de construir la RUTA a partir de diferentes fuentes utilizando técnicas como la expansión del directorio principal, et al.
/etc/launch.conf
no no trabajar para conchas registra en forma remota a través de SSH (supongo que debido a que elsshd
no pasa su entorno que hereda de su padrelaunchd
a la cáscara niño.). - Editaré la respuesta en consecuencia.