Come ricarico un ambiente utente "bash" di OS X

0

Penso di volere chiedere

  • Come ricarico un OS X bash user-environment

Ma dannazione Jim; Sono un ingegnere del software non un amministratore di sistema

L'obiettivo

  • Voglio che Jenkins abbia iniziato come Daemon su El Capitan
  • Voglio utilizzare "UserWhoHasARealAccount" su OS X
  • Per questo dovrei usare un demone di avvio

Per quanto ne sappia

  • tutti / Library / LaunchDaemons / vengono avviati come root
  • Mentre possono sostituire l'utente con Utente per diventare non-root mantengono ancora l'ambiente di root.

Il problema

    Il processo
  • non avrà il PATH completo (e altri) che ho impostato
    • which può aggirare questo problema ma ...
  • I processi secondari
  • non ottengono il PATH I impostato per l'utente
    • così which whatever-i-want non aiuta quando Node.JS cerca di eseguire un sottoprocesso e compila il mio blog ... a meno che I per Node.JS non invochi i sottoprocessi tramite percorsi assoluti sul mio computer
  • l'ambiente root sembra impedire a ssh di funzionare
    • quindi non posso avere "UserWhoHasARealAccount" accedi a localhost per ottenere magicamente un vero percorso
    • Potrei mancare qualcosa dato che non riesco a trovare nessun messaggio di errore SSH

Poiché si tratta di un server, l'accesso e la pressione di un pulsante non "lo fanno per me"

    
posta pal 06.02.2016 - 12:53
fonte

1 risposta

1

Per chiunque dal futuro ..

bash può essere eseguito con -l per l'esecuzione di elementi di accesso completi. Quindi, il mio script launchd va da;

<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>
    
risposta data 08.02.2016 - 20:13
fonte

Leggi altre domande sui tag