cómo get scripts de shell para ejecutarse en el inicio de Yosemite

Hay un directory en System / Library para elementos de inicio que presumo: StartupItems

Necesito tener un script de shell que configure la interfaz ethernet en el arranque, con la dirección de networking local y la máscara de subnetworking. Tengo que hacer esto porque las preferences de networking para configurar la interfaz ethernet NO lo configuran con la configuration manual. ESTO parece ser un error grave, o mi installation es mala.

  • Utilizando el Compartición de pantallas de Apple, ¿puedo networkingirigir gestos y keys para controlar espacios en la máquina compartida?
  • ¿Cómo se conecta de forma segura MacOS Sierra con keyboards Bluetooth sin código?
  • ¿Puedo deshabilitar los bordes de la window pegajosa de macOS Sierra?
  • ¿Cualquier persona capaz de conectar gioteck VX-1 (controller PS3) a través de Bluetooth?
  • Utilice la toma de auriculares como línea para micrófono en MacBook Pro Retina
  • Cómo crear una list de distribución privada en Mail.app?
  • Se me dio el consejo de usar networksetup desde la command-line, pero que no configurará la interfaz ethernet de tal manera que las configuraciones estarán ahí al reiniciar.

    El script tiene que hacer su trabajo con privilegios de root, o con sudo, pero estoy asumiendo que si utiliza sudo, habrá un cuadro de dialog de contraseña presentado en el momento del arranque cuando el process de arranque llega a ese script.

    (He tenido suficiente experiencia con FreeBsd y Linux para encontrar mi path en el terminal, pero no necesariamente como se aplica a Mac OSX)

  • El equipo no se puede cerrar ahora, porque el software se está instalando
  • La desconnection automática resulta en un error grave en la pantalla de inicio de session
  • ¿Cómo instalar GrowlVoice trabajando desde cero en Mac OS 10.9.5 (Mavericks)?
  • Messages.app en mac: search en la historia
  • ¿Cómo puedo controlar el sonido de diferentes aplicaciones?
  • Cómo cambiar el background de escritorio para todos los escritorios virtuales?
  • 3 Solutions collect form web for “cómo get scripts de shell para ejecutarse en el inicio de Yosemite”

    Una forma de hacerlo sería asignar al script un service launchd:

    Cree el script de shell como de costumbre. A continuación, puede hacer un service launchd para ejecutarlo en el inicio. Éstos se encuentran en /Library/LaunchDaemons . Estos se encuentran en el formatting de list de properties XML. Crear otro y llenarlo con 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>Label</key> <string>com.example.app</string> <key>ProgramArguments</key> <array> <string>/bin/sh</string> <string>/path/to/script</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> </dict> </plist> <? xml version = "1.0" encoding = "UTF-8"?> <?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>com.example.app</string> <key>ProgramArguments</key> <array> <string>/bin/sh</string> <string>/path/to/script</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> </dict> </plist> 

    Cambie com.example.app , /bin/sh y /path/to/script según sea necesario.

    El script se ejecutará mientras el sistema está arrancando. Si se ejecuta demasiado temprano, puede escribir el script para intentar y hacer lo que necesita hacer hasta que tenga éxito, o tener salir con un código de error distinto de cero y agregar esto a la list de properties antes de la línea </dict> :

     <key>KeepAlive</key> <dict> <key>SuccessfulExit</key> <false/> </dict> 

    Para más información sobre los demonios y services de lanzamiento de OS X, sugiero search aquí una buena reference rápida para hacerlos, o aquí una reference más completa sobre lo que launchd puede hacer.

    Hace algún time usé cron para hacer eso. Puedes hacer una input como esta

     @reboot /path/to/my/script 

    Más información aquí

    En lugar de los primeros cinco campos, puede aparecer una de ocho cadenas especiales:

      string meaning ------ -------@reboot ------@reboot @reboot Run once, at startup. @yearly Run once a year, "0 0 1 1 *". @annually (same as @yearly) @monthly Run once a month, "0 0 1 * *". @weekly Run once a week, "0 0 * * 0". @daily Run once a day, "0 0 * * *". @midnight (same as @daily) @hourly Run once an hour, "0 * * * *". 

    Echa un vistazo a script de gancho de inicio de session.

    https://wiki.afp548.com/index.php/Login/Logout_Hooks_in_OS_X

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