VBoxHeadless, the Remote Desktop Server
While any VM started from is capable of running virtual
machines remotely, it is not convenient to have to run the full GUI if you never want to have VMs displayed
locally in the first place. In particular, if you are running server hardware whose only purpose is to host VMs,
and all your VMs are supposed to run remotely over VRDP, then it is pointless to have a graphical user interface
on the server at all. This is especially true for Linux or Oracle Solaris hosts, as the comes with dependencies on the Qt and SDL libraries. This is
inconvenient if you would rather not have the X Window system on your server at all.
therefore comes with a front end called
VBoxHeadless, which produces no visible output on the host at all, but still can
optionally deliver VRDP data. This front end has no dependencies on the X Window system on Linux and Oracle
Solaris hosts.
In legacy releases of , the headless server was called
VBoxVRDP. For backward compatibility, the installation still includes an executable with that name.
To start a virtual machine with VBoxHeadless, you have the following options:
-
Use the VBoxManage command, as follows:
$ VBoxManage startvm VM-name --type headless
The --type option causes to use
VBoxHeadless as the front end to the internal virtualization engine, instead of the
Qt front end.
-
Use the VBoxHeadless command, as follows:
VBoxHeadless --startvm uuid|vmname
This way of starting the VM helps troubleshooting problems reported by VBoxManage
startvm, because you can sometimes see more detailed error messages, especially for early
failures before the VM execution is started. In normal situations VBoxManage startvm is
preferred, since it runs the VM directly as a background process which has to be done explicitly when directly
starting with VBoxHeadless.
-
Start VBoxHeadless from , by pressing
the Shift key when starting a virtual machine or by selecting Headless Start from
the Machine menu.
When you use the VBoxHeadless command to start a VM, the VRDP server will be enabled
according to the VM configuration. You can override the VM's setting using --vrde command line
parameter. To enable the VRDP server, start the VM as follows:
VBoxHeadless --startvm uuid|vmname --vrde on
To disable the VRDP server:
VBoxHeadless --startvm uuid|vmname --vrde off
To have the VRDP server enabled depending on the VM configuration, as for other front ends:
VBoxHeadless --startvm uuid|vmname --vrde config
This command is the same as the following:
VBoxHeadless --startvm uuid|vmname
If you start the VM with VBoxManage startvm then the configuration settings of the VM are
always used.