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 backwards
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.