¿Cómo agregar un programa de inicio usando Terminal?

0

Honestamente, estoy encontrando launchctl de Apple y plist ( XML?) Uso para ser algo confuso y excesivo. Usando Terminal, solo quiero decir hey, macOS, iniciar program.app en el arranque! o hey, macOS, iniciar mi /path/to/shell.sh en el arranque!

¿Cómo puedo agregar un elemento de arranque, de forma remota, a través de Terminal / SSH / Netcat / command line / shell?

sh-3.2# system_profiler SPSoftwareDataType 
Software:

    System Software Overview:

      System Version: macOS 10.13.4 (17E199)
      Kernel Version: Darwin 17.5.0
      Boot Volume: lily
      Boot Mode: Normal
      Computer Name: lily’s MacBook Air
      User Name: System Administrator (root)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 2:03
    
pregunta lily 18.05.2018 - 05:29

1 respuesta

2

LaunchDaemons - Ejecutar al inicio

Agentes de lanzamiento - Ejecutar al iniciar sesión

Entonces ... necesitas un demonio

le sugiere a cat /System/Library/LaunchDaemons/com.apple.pfctl.plist o cualquier otro en el mismo directorio y lo utiliza como referencia.

Simplemente elimine lo innecesario. Será algo como esto:

<?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>Disabled</key>
    <false/>
    <key>Label</key>
    <string>shell.sh</string>
    <key>ProgramArguments</key>
    <array>
        <string>/path/to/shell.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

guarde el archivo en el mismo directorio, pero denominado shell.sh.plist y ejecute

sudo launchctl load /System/Library/LaunchDaemons/shell.sh.plist

para eliminar el script de la lista de carga:

sudo launchctl unload /System/Library/LaunchDaemons/shell.sh.plist

Esto no es Linux, por lo que las cosas se hacen de manera Mac.

man launchd & man launchd.plist proporcionará toda la información necesaria

O

puede utilizar un enfoque descrito aquí

Crea .plist solo una vez y apunta a tu script de inicio, que a su vez iniciará cualquier cosa que agregues allí sin necesidad de escribir un nuevo .plist cada vez que quieras comenzar algo nuevo.

    
respondido por el Igor Voltaic 18.05.2018 - 11:20

Lea otras preguntas en las etiquetas