4 votos

¿Cómo puedo iniciar una aplicación en el arranque/inicio en la Sierra?

Soy un aficionado a la tecnología, pero bastante nuevo para macOS. Estoy usando un Mac mini ejecución de macOS Sierra como una acumulación de funcionamiento de la máquina GoCD. Quiero que el server (ir-servidor) y el agente (ir-agente) para que inicie, pero no puedo encontrar una explicación fácil en cualquier lugar de cómo hacerlo.

Cosas que trabajó en Mac OS X 10.6 no funciona más, y yo no quiero tener estas aplicaciones de inicio en inicio de sesión, porque no quiero permanecer conectado a la consola en este equipo.

5voto

klanomath Puntos 19587

Servicio/aplicación se inicie durante el arranque se hace generalmente con launchd y lanzar los demonios controlados por launchctl. Depende de la aplicación o ejecutable y el medio ambiente, si en dicho lanzamiento, el demonio es posible o no. Un montón de GUI apps requieren de una sesión de inicio de sesión y el método no funciona.

Después de inspeccionar GoCD usted puede descargar un archivo zip o un "OS X/macOS app" de la versión del servidor. El servidor se inicia con una secuencia de comandos de shell en ambos casos: sea explícita en la versión zip o implícitamente con "Ir Servidor.app/Contents/MacOS/ir-servidor".

Vaya con el archivo zip, descomprimirlo y mover la carpeta resultante a /usr/local. Link de la carpeta /usr/local/ir-server-16.10.0 a /usr/local/:

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

Crear un lanzamiento demonio con sudo nano /Library/LaunchDaemon/org.goserver.start.plisty 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>

Cambiar el propietario y los permisos del archivo, si es necesario:

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

Modificar /usr/local/go-server-16.10.0/server.sh a sus necesidades. Usted debe establecer un registro diferente de directorio en línea de 85 o un archivo de registro se crea en el directorio root. Compruebe otras variables y las rutas de acceso (como $JAVA_HOME, YOURKIT_PATH, $PID_FILE etc) en la secuencia de comandos de shell y modificarlos de acuerdo a sus necesidades y/o medio ambiente. Aquí funcionó hacia fuera-de-la-caja - pero yo no prueba a fondo.

A continuación, iniciar el lanzamiento demonio con:

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

Verificación /tmp/org.goserver.inicio.stderr para launchd errores. Si el lanzamiento demonio corre bien puede quitar la parte:

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

desde el plist.

El método de trabajo de acuerdo con la GoAgent. El inicio de la agente de que se hace con agent.sh. El uso de una segunda plist con un diferente plist y etiqueta el nombre del curso: org.goagent.inicio.plist/org.goagent.inicio.

Usted probablemente tendrá que añadir una condición en la que el agente del plist para que el agente se inicia después de que el servidor se está ejecutando.


He intentado lo mismo con el "OS X" de la aplicación, pero no eliminar todos los errores.

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