Pregunta

Seguí algunas guías en línea tratando de obtener algunas máquinas virtuales sin cabeza para comenzar/suspender automáticamente al arranque/apagado en mi Mac. No puedo hacer que funcione en absoluto. Esta es la primera vez que intento que el script se ejecute en la inicio/cierre, por lo que podría ser que me estoy perdiendo algo muy básico y si ese es el caso, me disculpo.

Estos son los pasos que seguí:

  • Creó un directorio /Library/StartupItems/HeadlessVM
  • Creó dos archivos dentro de ese directorio:

    -rwxr--r--  1 root  wheel  242 Feb 19 19:05 HeadlessVM
    -rw-r--r--  1 root  wheel  188 Feb 20 12:42 StartupParameters.plist
    

    Contenido para la cabeza sin cabeza

    $ cat HeadlessVM
    #!/bin/sh
    
    . /etc/rc.common
    
    StartService () 
    {
        ConsoleMessage "Starting HeadlessVM"
        /usr/local/bin/runvmheadless
    }
    
    StopService () 
    {
        ConsoleMessage "Suspending HeadlessVM"
        /usr/local/bin/suspendvmheadless
    }
    
    RunService "$1"
    

    Contenido para startupparameters.plist

    $ cat StartupParameters.plist
    {
      Description     = "Runs/Suspends Virtual Machine Headless on OS X Startup/Shutdown";
      Provides        = ("HeadlessVM");
      Uses            = ("Disks");
      OrderPreference = ("Late");
    }
    
  • Creó mis archivos de script, que realizarán ambas acciones:

      -rwxr-xr-x@ 1 xxxxxxx  admin  164 Feb 19 01:06 runvmheadless
      -rwxr-xr-x@ 1 xxxxxxx  admin  160 Feb 19 01:19 suspendvmheadless
    

    Contenido para runvmheadless

    $ cat runvmheadless
    #!/bin/bash
    "/Applications/VMware Fusion.app/Contents/Library/vmrun" -T fusion start "/Volumes/Archive/Virtual Machines/vm.vmwarevm/vm.vmx" nogui
    

    Contenido para suspendvmheadless

    $ cat suspendvmheadless
    #!/bin/bash
    "/Applications/VMware Fusion.app/Contents/Library/vmrun" -T fusion suspend "/Volumes/StaticData/Virtual Machines/vm.vmwarevm/vm.vmx"
    
  • Mi resolución de problemas hasta ahora:

    • Si ejecuto los scripts desde la terminal, funcionan según lo previsto.
    • Si corro sudo /sbin/SystemStarter (start or stop) "HeadlessVM" También funciona.
    • En la consola solo veo lo siguiente cuando reinicio, no tengo idea de lo que está mal aunque.

      20/02/12 12: 11: 09.128 PM Systemstarter: Ejecuta/suspende la máquina virtual sin cabeza en OS X Startup/Shutdown (100) no se completó con éxito

Aprecio cualquier ayuda, gracias.

¿Fue útil?

Solución

Encontré lo que estaba mal. El código anterior está bien, el problema es que mis scripts están tratando de obtener datos de un disco secundario cifrado que no estaba disponible en el momento de la arranque.

Usé esto para evitar este problema: https: //github.com/jridgewell/unlock

Gracias

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top