Starting VirtualBox VM using Python
python, virtualbox
Solution
You can use the real python bindings instead (and not a wrapper that call the VBoxManager command line in a subprocess, say pyvb) relatively easily by using the vboxshell.py script from virtual box.
Or you can use it for reference documentation of the python bindings. There's no documentation for the python bindings and honestly they are not implemented in a good pythonic way. Attributes and methods are not present in the `__dict__`, so it's not possible to find them by introspection (or autocompletion in ipython) and there's no docstring either. Another reference for the python bindings are the source code of the vboxweb project here: VBoxWebSrv.py
For the headless startup, you need to pass 'headless' to the third argument (type) of the vbox.openRemoteSession(session, uuid, type, "") method call. Look at startVm() function in vboxshell.py and VBoxWebSrv.py for reference.
Problem
How can I start a virtual machine from virtualbox as headless using `pyvb` modules?