Domanda

Ho seguito alcune guide online cercando di ottenere alcune VM senza testa per avviare/sospendere automaticamente all'avvio/arresto sul mio Mac. Non riesco affatto a farlo funzionare. Questa è la prima volta che provo a far funzionare gli script all'avvio/arresto, quindi potrebbe essere che mi manchi qualcosa di molto semplice e se questo è il caso mi scuso.

Questi sono i passaggi che ho seguito:

  • Ha creato una directory /Library/StartupItems/HeadlessVM
  • Creato due file all'interno di quella directory:

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

    Contenuto per HeadlessVM

    $ 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"
    

    Contenuto per startupParameters.plist

    $ cat StartupParameters.plist
    {
      Description     = "Runs/Suspends Virtual Machine Headless on OS X Startup/Shutdown";
      Provides        = ("HeadlessVM");
      Uses            = ("Disks");
      OrderPreference = ("Late");
    }
    
  • Ho creato i miei file di script, che eseguiranno entrambe le azioni:

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

    Contenuto per runvmheadless

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

    Contenuto per sospendvmheadless

    $ cat suspendvmheadless
    #!/bin/bash
    "/Applications/VMware Fusion.app/Contents/Library/vmrun" -T fusion suspend "/Volumes/StaticData/Virtual Machines/vm.vmwarevm/vm.vmx"
    
  • La mia risoluzione dei problemi finora:

    • Se eseguo gli script dal terminale, funzionano come previsto.
    • Se corro sudo /sbin/SystemStarter (start or stop) "HeadlessVM" Funziona anche.
    • Su console vedo quanto segue solo quando riavvo, nessun indizio su ciò che non va.

      2/20/12 12: 11: 09.128 PM SystemStarter: esegue/sospendere la macchina virtuale senza testa su OS X Startup/Shutdown (100) non ha completato correttamente

Apprezzo qualsiasi aiuto, grazie.

È stato utile?

Soluzione

Ho trovato ciò che non andava. Il codice sopra va bene, il problema è che i miei script stanno cercando di ottenere dati da un disco secondario crittografato che non era disponibile al momento dell'avvio.

L'ho usato per bypassare questo problema: https: //github.com/jridgewell/unlock

Grazie

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top