63 lines
1.9 KiB
Markdown
63 lines
1.9 KiB
Markdown
|
---
|
||
|
sidebar_current: "virtualbox-configuration"
|
||
|
---
|
||
|
|
||
|
# Configuration
|
||
|
|
||
|
The VirtualBox provider exposes some additional configuration options
|
||
|
that allow you to more finely control your VirtualBox-powered Vagrant
|
||
|
environments.
|
||
|
|
||
|
## GUI vs. Headless
|
||
|
|
||
|
By default, VirtualBox machines are started in headless mode, meaning
|
||
|
there is no UI for the machines visible on the host machine. Sometimes,
|
||
|
you want to have a UI. Common use cases include wanting to see a browser
|
||
|
that may be running in the machine, or debugging a strange boot issue.
|
||
|
You can easily tell the VirtualBox provider to boot with a GUI:
|
||
|
|
||
|
```
|
||
|
config.vm.provider "virtualbox" do |v|
|
||
|
v.gui = true
|
||
|
end
|
||
|
```
|
||
|
|
||
|
## Virtual Machine Name
|
||
|
|
||
|
You can customize the name that appears in the VirtualBox GUI by
|
||
|
setting the `name` property. By default, Vagrant sets it to the containing
|
||
|
folder of the Vagrantfile plus a timestamp of when the machine was created.
|
||
|
By setting another name, your VM can be more easily identified.
|
||
|
|
||
|
```ruby
|
||
|
config.vm.provider "virtualbox" do |v|
|
||
|
v.name = "my_vm"
|
||
|
end
|
||
|
```
|
||
|
|
||
|
## VBoxManage Customizations
|
||
|
|
||
|
[VBoxManage](http://www.virtualbox.org/manual/ch08.html) is a utility that can
|
||
|
be used to make modifications to VirtualBox virtual machines from the command
|
||
|
line.
|
||
|
|
||
|
Vagrant exposes a way to call any command against VBoxManage just prior
|
||
|
to booting the machine:
|
||
|
|
||
|
```ruby
|
||
|
config.vm.provider "virtualbox" do |v|
|
||
|
v.customize ["modifyvm", :id, "--cpuexecutioncap", "50"]
|
||
|
end
|
||
|
```
|
||
|
|
||
|
In the example above, the VM is modified to have a host CPU execution
|
||
|
cap of 50%, meaning that no matter how much CPU is used in the VM, no
|
||
|
more than 50% would be used on your own host machine. Some details:
|
||
|
|
||
|
* The `:id` special parameter is replaced with the ID of the virtual
|
||
|
machine being created, so when a VBoxManage command requires an ID, you
|
||
|
can pass this special parameter.
|
||
|
|
||
|
* Multiple `customize` directives can be used. They will be executed in the
|
||
|
order given.
|