¿Cómo inicio una aplicación en arranque / arranque en Sierra?

Soy un entusiasta de la tecnología, pero bastante nuevo en macOS. Estoy usando un Mac mini que ejecuta MacOS Sierra como una máquina de construcción que ejecuta GoCD . Quiero que el server (go-server) y el agente (go-agent) comiencen en el arranque, pero no puedo encontrar una explicación fácil en ninguna parte sobre cómo hacer esto.

Las cosas que funcionaban en Mac OS X 10.6 ya no funcionan, y no quiero que estas aplicaciones comiencen con el inicio de session , porque no quiero seguir conectado a la console en esta computadora.

  • Cargando User LaunchAgent con éxito
  • AMFI: permitiendo el manejador de excepciones - porque el manejador se configuró mediante un process maestro titulado 'launchd', VirtualBox
  • Cómo montar un disco RAM en el inicio?
  • High Sierra se congela al iniciar session
  • ¿Por qué RAID 1 "Mirroring no proporciona mejoras de performance"?
  • Apache no se iniciará al reiniciar
  • ¿En general es recomendable tener un software antivirus para Mac OS X?
  • iTunes no se abrirá
  • Script de shell: mover carpetas + preservar estructura
  • Dock desapareciendo en Mac
  • No se puede instalar OS X desde OS X Utilities a principios de 2008 Macbook Air
  • Establecer la contraseña maestra desde la terminal
  • One Solution collect form web for “¿Cómo inicio una aplicación en arranque / arranque en Sierra?”

    El inicio del service / aplicación durante el arranque generalmente se realiza con launchd y ejecuta los demonios controlados por launchctl. Depende de la aplicación / ejecutable y del entorno si ese daemon de inicio es posible o no. Muchas aplicaciones de GUI requieren una session de inicio de session y el método no funciona.

    Después de inspeccionar GoCD, puede download un file zip o una versión del server "OS X / macOS" . El server se inicia con un script de shell en ambos casos: ya sea explícitamente en la versión zip o implícitamente con "Go Server.app/Contents/MacOS/go-server".

    Vaya con el file zip, descomprímalo y mueva la carpeta resultante a / usr / local. Enlace la carpeta /usr/local/go-server-16.10.0 a / usr / local /:

    ln -s /usr/local/go-server-16.10.0 /usr/local/go-server 

    Cree un daemon de inicio con sudo nano /Library/LaunchDaemon/org.goserver.start.plist y el contenido

     <?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>org.goserver.start</string> <key>ProgramArguments</key> <array> <string>/bin/bash</string> <string>/usr/local/go-server/server.sh</string> </array> <key>RunAtLoad</key> <true/> <key>StandardErrorPath</key> <string>/tmp/org.goserver.start.stderr</string> <key>StandardOutPath</key> <string>/tmp/org.goserver.start.stdout</string> </dict> </plist> 

    Cambie el propietario y los permissions del file si es necesario:

     sudo chown root:wheel /Library/LaunchDaemons/org.goserver.start.plist sudo chmod 644 /Library/LaunchDaemons/org.goserver.start.plist 

    Modifique /usr/local/go-server-16.10.0/server.sh según sus necesidades. Debe establecer un directory de logging diferente en la línea 85 o se creará un file de logging en el directory raíz. Compruebe otras variables y routes (como $ JAVA_HOME, YOURKIT_PATH, $ PID_FILE, etc.) en el script de shell y modifíquelas según sus necesidades / entorno. Aquí funcionó de fábrica, pero no lo probé a background.

    Luego, inicie el demonio de lanzamiento con:

     sudo launchctl load /Library/LaunchDaemons/org.goserver.start.plist 

    Compruebe /tmp/org.goserver.start.stderr para los errores de launchd. Si el daemon de inicio funciona bien, puedes eliminar la pieza:

      <key>StandardErrorPath</key> <string>/tmp/org.goserver.start.stderr</string> <key>StandardOutPath</key> <string>/tmp/org.goserver.start.stdout</string> 

    del plist

    El método debería funcionar de acuerdo con el GoAgent. El inicio del agente se hace con agent.sh. Use una segunda plist con un plist diferente y nombre de label del curso: org.goagent.start.plist / org.goagent.start.

    Probablemente tenga que agregar una condición en la list del agente para que el agente se inicie después de que el server se esté ejecutando.


    Intenté lo mismo con la aplicación "OS X" pero no pude eliminar todos los errores.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).