使用Python启动VirtualBox VM

时间:2010-03-06 05:57:39

标签: python virtualbox

如何使用 pyvb 模块从无头启动虚拟机中的虚拟机?

2 个答案:

答案 0 :(得分:11)

您可以使用虚拟框中的vboxshell.py脚本,相对轻松地使用真正的python绑定(而不是在子进程中调用VBoxManager命令行的包装器,比如pyvb)。

或者您可以将它用于python绑定的参考文档。没有关于python绑定的文档,老实说它们没有以良好的pythonic方式实现。 __dict__中不存在属性和方法,因此无法通过内省(或ipython中的自动完成)找到它们,也没有文档字符串。 python绑定的另一个参考是vboxweb项目的源代码:VBoxWebSrv.py

对于无头启动,您需要将'headless'传递给vbox.openRemoteSession(session,uuid,type,“”)方法调用的第三个参数(类型)。查看vboxshell.py和VBoxWebSrv.py中的startVm()函数以供参考。

答案 1 :(得分:0)

如果使用库pyvbox,则要完成的任务非常简单:

import virtualbox

vbox = virtualbox.VirtualBox()
machine = vbox.find_machine("you_virtual_machine_name")  ## for example: "ubuntu"
# If you want to run it normally:
proc = machine.launch_vm_process(session, "gui")
# If you want to run it in background:
# proc = machine.launch_vm_process(session, "headless")
proc.wait_for_completion(timeout=-1)