19 votos

Cómo utilizar /etc/rutas.d para agregar archivos ejecutables a mi camino?

Estoy tratando de usar /etc/rutas.d para agregar un archivo ejecutable para mi variable path, pero no tengo éxito hasta el momento.

La ruta de acceso completa del archivo ejecutable es: /opt/ImageMagick/bin/convert

/etc/rutas.d contiene dos archivos: 40-XQuartz y ImageMagick

El 40-XQuartz contiene una línea: /opt/X11/bin
ImageMagick contiene una línea: /opt/ImageMagick/bin

Mi echo $PATH le da:

/Users/Administrator/.rbenv/shims:/Users/Administrator/.rbenv/bin:/Users/Administrator/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

Así que parece que sólo el primer archivo (40-XQuartz) hace su trabajo. Los permisos de los dos archivos (40-XQuartz y ImageMagick) son exactamente lo mismo, así que mi pregunta es ¿por qué el primero funciona y el segundo no.

Estoy ejecutando OS X Mavericks.

23voto

Madhur Ahuja Puntos 190

Ha comenzado un nuevo shell de inicio de sesión desde agregar el nuevo archivo de ImageMagick? La configuración de la ruta de la paths.d entradas se realiza en /etc/profile y /etc/csh.login, por lo que usted necesita para comenzar un nuevo shell para las nuevas entradas a tomar efecto.

OS X utiliza path_helper para establecer la ruta de acceso basado en los archivos en /etc/paths.d - usted siempre puede llamar manualmente (suponiendo una Bourne-como shell aquí):

$ eval `/usr/libexec/path_helper -s`

4voto

Ejecución

echo /opt/ImageMagick/bin|sudo tee /etc/paths.d/ImageMagick;bash -l;echo $PATH

añade /opt/ImageMagick/bin a PATH en mi instalación.

Estás primordial PATH en algún otro lugar como ~/.bash_profile?

Las rutas en /etc/paths.d/ se añade a la ruta de acceso, /usr/libexec/path_helper, que se ejecuta desde /etc/profile, /etc/zsh.envy /etc/csh.login. path_helper es no ejecutar aplicaciones gráficas o cuando bash se invoca como un no-shell de inicio de sesión.

También puede establecer un valor predeterminado PATH en /etc/launchd.conf:

  1. Ejecutar por ejemplo setenv PATH /Users/Administrator/.rbenv/shims:/Users/Administrator/.rbenv/bin:/Users/Administrator/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/opt/ImageMagick/bin|sudo tee -a /etc/launchd.conf.
  2. Reinicie, o de ejecutar launchctl</etc/launchd.conf;sudo launchctl</etc/launchd.conf y el relanzamiento de los procesos.

Yo prefiero cambiar la ruta de acceso en /etc/launchd.conf, porque también afecta a los programas que no se han iniciado a partir de conchas, como editores de texto y los programas iniciados por launchd puestos de trabajo.

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