¿Cómo recargo un entorno de usuario "bash" de OS X?

0

Creo que quiero preguntar

  • ¿Cómo recargo un OS X bash user-environment

Pero maldita sea Jim; Soy un ingeniero de software, no un administrador de sistemas

El objetivo

  • Quiero que Jenkins comience como un demonio en El Capitán
  • Quiero usar "UserWhoHasARealAccount" en OS X
  • Para esto debería estar usando un demonio de lanzamiento

AFAIK

  • todos /Library/LaunchDaemons/ se inician como root
  • Si bien pueden sustituir al usuario con Usuario para convertirse en not-root aún conservan entorno de la raíz.

El problema

    El proceso
  • no tendrá el PATH completo (et al) que configuré
    • which puede solucionar esto, pero ...
  • los subprocesos no obtienen la configuración de PATH I para el usuario
    • así que which whatever-i-want no ayuda cuando Node.JS intenta ejecutar un subproceso y compilar mi blog ... a menos que para que Node.JS invoque subprocesos a través de rutas absolutas en mi computadora
  • el entorno root parece impedir que ssh funcione
    • así que no puedo tener el inicio de sesión de "UserWhoHasARealAccount" en localhost para obtener mágicamente una ruta real
    • Es posible que me falte algo ya que no puedo encontrar ningún mensaje de error de SSH

Ya que este es un servidor, iniciar sesión y presionar un botón no lo hará "por mí"

    
pregunta pal 06.02.2016 - 12:53

1 respuesta

1

Para cualquier persona del futuro ..

bash se puede ejecutar con -l para ejecutar las golosinas de inicio de sesión completo. Entonces, mi script launchd va desde;

<ProgramArguments>
    <array>
        <string>java</string>
        <string>-jar</string>
        <string>jenkins.war</string>
    </array>

... a ...

<ProgramArguments>
    <array>
        <string>bash</string>
        <string>-l</string>
        <string>-c</string>
        <string>java -jar jenkins.war</string>
    </array>
    
respondido por el pal 08.02.2016 - 20:13

Lea otras preguntas en las etiquetas