14 votos

Cómo cambiar la variable de entorno PATH para OS X 10.8 Mountain Lion, que serán visibles para aplicaciones GUI?

He intentado todos los métodos que he escuchado para la configuración de variables de entorno en OS X 10.8, pero ninguno de ellos parece funcionar.

Para probar, ejecutar un script en bash desde dentro de una aplicación de interfaz de usuario como Eclipse o IntelliJ IDEA.

#!/bin/bash
set|grep PATH

Cosas que he probado y que no funciona incluso después de reiniciar el equipo:

  • /etc/paths y /etc/paths.d/something
  • /etc/launchd.conf
  • ~/.bash_profile
  • ~/.MacOSX/environment.plist (binario plist hecho, como se recomienda)
  • ejecución launchctl setenv PATH $PATH desde la línea de comandos, que se suponía que iba a actualizar la RUTA de acceso para crear aplicaciones GUI, al menos para el actual período de sesiones. Supongo que lo que, no hay cambio.

Parece que el CAMINO es siempre PATH=/usr/bin:/bin:/usr/sbin:/sbin para crear aplicaciones GUI.

8voto

Mark Daynes Puntos 1

Con Mountain Lion /etc/launchd.conf es donde se debe crear la interfaz gráfica de usuario de las aplicaciones de la Ruta. Recordar que no es un archivo de secuencia de comandos; sólo es compatible con launchctl comandos, de forma que debería escribir algo como:

setenv PATH /new/path:/usr/bin:/bin:/usr/sbin:/sbin

Tenga en cuenta también que no es compatible con entorno de la shell sustituciones de variables (como $PATH) por lo que tendrás que configurar cada ruta de acceso que desea incluir. Es una buena idea para mantener las rutas originales que hemos mencionado (/usr/bin:/bin:/usr/sbin:/sbin).

Usted tendrá que reiniciar después de cambiar (o crear) el archivo para que los cambios surtan efecto.

4voto

Funciona si usted llame a la GUI de la aplicación desde el Terminal:

PATH=/this/is/kind/of/crazy:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin /Applications/Automator.app/Contents/MacOS/Automator 

enter image description here

No muy agradable ni cómodo, pero hace el trabajo si es necesario.

3voto

Banjer Puntos 1209

Me preparé otra solución, inspirada por patrix uno aquí, que espero que sea un poco menos doloroso. Abra Automator, seleccione la aplicación de destino y elija Execute Shell script (o lo que se llama, en alemán es "Shell-Skript ausführen" como se puede ver arriba) como de acción. En la secuencia de comandos, escriba

launchctl setenv FOO1 bar1
[...]
launchctl setenv FOOn barn
open -a YourApplicationHere

A continuación, guarde toda la cosa, siempre que lo desee, y si usted necesita para ejecutar YourApplicationHere, abra el creado "automator aplicación" en su lugar.

He probado con Terminal como YourApplicationHere, y vio con launchctl export que FOO era de hecho se fija a la barra. Espero que funcione para otros.

Por último, si se utiliza esta solución para sus variables de entorno, en lugar de escribir la launchctl cosas en la secuencia de comandos de shell, sólo puede llamar a /Users/Shared/conflaunchd.sh (que tienes que hacer primero, junto con el archivo que describe las variables).

-1voto

XTL Puntos 690

Supuestamente, launchctl brinda PATH a crear Aplicaciones GUI. Para establecer la ruta de acceso de shell de la ruta, añada lo siguiente a su shell de archivo rc después de establecer la ruta de acceso:

launchctl setenv PATH $PATH

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X