Вопрос
Я хочу написать несколько скриптов Python для создания «Устройства» с VirtualBox.Однако я нигде не могу найти документацию по вызовам VBoxService.exe.Что ж, я нашел вещи, которые работают ВНЕ машины, но ничего не работают изнутри машины.
Кто-нибудь знает что-нибудь об этом?Если бы была библиотека для другого языка, например C, меня бы это устроило, хотя Python был бы предпочтительнее.
Решение
Рассмотрите возможность использования libvirt.Поддержка VirtualBox является новейшей (ни в одном выпуске, может быть, даже не в системе контроля версий, но доступна в виде набора исправлений в списке рассылки) - но этот единственный API, доступный для C, Python и некоторых других языков, позволяет управлять виртуальными машинами и образами, работающими в Qemu/KVM, Xen, LXC (контейнеры Linux), UML (пользовательский режим Linux), OpenVZ и других.
Я создаю и администрирую виртуальные устройства (в контексте автоматизированного контроля качества), используя libvirt с серверной частью qemu/KVM, и это очень хорошо отвечает моим потребностям.
libvirt можно настроить для разрешения удаленного доступа (например, управления или запроса VBoxService или libvirtd из одной из виртуальных машин, что вы, похоже, хотите сделать - хотя я сомневаюсь в мудрости и полезности), с многочисленными доступными опциями аутентификации и транспорта.
[Предостережение:libvirt в основном ориентирован на Unix-подобные операционные системы;его можно собрать для Win32, но YMMV]