Domanda
Voglio fare alcuni script python per creare un "apparecchio" con VirtualBox. Tuttavia, non riesco a trovare alcuna documentazione in qualsiasi punto effettuare le chiamate a VBoxService.exe. Beh, ho trovato roba che funziona dall'esterno della macchina, ma niente di lavorare dall'interno della macchina.
Qualcuno sa qualcosa su questo? Se c'è una biblioteca per un altro linguaggio come C sarei d'accordo, anche se Python sarebbe pesantemente preferito.
Soluzione
Si consiglia di utilizzare libvirt . Il supporto VirtualBox è bleeding-bordo (non in comunicati, non può essere ancora in controllo sorgente ancora, ma è disponibile come un insieme di patch nella lista) - ma questo singolo API, disponibile per C, Python e molti altri lingue, consente di controllare le macchine virtuali e le immagini in esecuzione in Qemu / KVM, Xen, LXC (Linux Containers), UML (User-Mode Linux), OpenVZ e altri.
I costruire e amministrare appliance virtuali (in un contesto QA automatizzato) utilizzando libvirt con il backend QEMU / KVM, e soddisfa le mie esigenze molto bene.
libvirt può essere configurato per consentire l'accesso remoto (come il controllo o l'esecuzione di query VBoxService o libvirtd dall'interno una delle macchine virtuali, che sembrate voler fare - anche se io metto in discussione la saggezza e l'utilità), con numerosi autenticazione e trasporti opzioni disponibili.
[Caveat: libvirt si rivolge principalmente i sistemi operativi Unixlike; può essere costruito per Win32, ma YMMV]