45 votos

La configuración de todo el sistema variable de entorno PATH en Mavericks

En anteriores versiones del sistema operativo se podría establecer el sistema de ancho variable de entorno PATH en /etc/launchd.conf hacer que esté disponible para todas las aplicaciones (no sólo de la línea de comandos).

En Mavericks esto parece ser ya no se utiliza.

Hay otra técnica para hacer esto en mavericks?

55voto

Fuzzy Purple Monkey Puntos 702

Yosemite

/etc/launchd.conf ya no se admite en 10.10. Ver man launchctl:

El /etc/launchd.conf archivo ya no es el más consultado por los subcomandos para ejecutar durante el arranque; esta funcionalidad fue eliminado por consideraciones de seguridad.

Usted puede ahora, por ejemplo, guardar este plist como ~/Library/LaunchAgents/my.startup.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>my.startup</string>
  <key>ProgramArguments</key>
  <array>
    <string>sh</string>
    <string>-c</string>
    <string>launchctl setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

El launchctl setenv comando se ejecuta como el usuario, por lo que sólo se aplica a los procesos en marcha en el dominio de usuario.

Este método no se aplica a las aplicaciones que se abren al iniciar la sesión, si "volver a Abrir las ventanas al iniciar sesión de nuevo en" está activada.

Mavericks y anteriores

En 10.9 y anteriores, por ejemplo, puede ejecutar

echo setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin|sudo tee -a /etc/launchd.conf

y, a continuación, en reiniciar para aplicar los cambios.

Otros métodos

/etc/paths y /etc/paths.d/ aplican sólo (o principalmente) a los depósitos. Las líneas en /etc/paths y /etc/paths.d/* se añade a la ruta por path_helper, que se ejecuta desde /etc/profile, /etc/zshenvy /etc/csh.login. No conozco otros programas de proyectiles que se considerar /etc/paths o /etc/paths.d/.

~/.MacOSX/environment.plist dejó de trabajar en 10.8.

11voto

user60327 Puntos 1

Hay una manera mucho más fácil. Colocar un archivo de texto en la carpeta /etc/paths.d/. En este archivo de texto, escriba la ruta deseada Y un salto de línea. La mejor manera es crear un nuevo archivo para cada ruta.

En mi sistema, hay un archivo llamado MySQL con el texto '/usr/local/mysql/bin' y una nueva línea.

3voto

Jonathan Sampson Puntos 121800

Usted puede ser capaz de establecer las variables de entorno en el archivo /etc/launchd-user.conf...

En Mavericks, yo era capaz de configurar una variable de entorno en el archivo de la utilización de la línea:

setenv TEST test

Después de un nuevo arranque, $TEST de /etc/launchd-usuario.conf se establece.

Editar

Es posible que la sintaxis del archivo /etc/launchd.conf no es válido. Puedes publicar el contenido de ese archivo para el examen?

De lo que estoy viendo, la configuración de la variable de RUTA de acceso en /etc/launchd.conf está funcionando normalmente. Sin embargo, launchd no realiza ningún parámetro de expansión. Por lo tanto, si usted tiene una entrada como setenv PATH $PATH:/usr/local/bin, su trazado resultante sería ajustado a "$PATH:/usr/local/bin" (nota: no es el valor de la RUTA, pero el texto "$PATH")

1voto

Rafe Puntos 11

He encontrado que setenv CAMINO todavía me funciona la Terminal y las aplicaciones, pero se rompió en los scripts de shell, lanzada directamente a través de hacer clic o Abrir en Terminal de, digamos, el Finder. Es muy extraño. Otro conjunto de variables de entorno en /etc/launchd.conf de trabajo.

Con el fin de fijar para secuencias de comandos de shell lanzó directamente, duplicados configuración de RUTA en ~/.bash_profile.

0voto

Mike Wentworth Puntos 27

en mi Mavericks de instalar , agregando que "setenv CAMINO blablabla" a /etc/launchd.conf no funciona después de reiniciar el equipo

así que he añadido a mi nuevo camino a la final de /etc/caminos , en los que colaboró.

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