I'm running Ubuntu Server using VBoxHeadless
. How do I send ACPI shutdown signal through VirtualBox and make Ubuntu Server respect it and comply with the shutdown signal?
-
Do you want to shutdown the host from the guest or do you want to shutdown the guest only? – Takkat Nov 23 '11 at 11:02
-
@Takkat Guest only. – Oxwivi Nov 23 '11 at 11:06
If you want to shutdown the guest Ubuntu you have two options:
Shutting down a guest using VBoxManage
A virtual machine can be controlled by command line using the VBoxManage
command line tool:
VBoxManage controlvm [nameofmachine] savestate # saves the state of the VM like in suspend
VBoxManage controlvm [nameofmachine] poweroff # simply "unplugs" the VM
VBoxManage controlvm [nameofmachine] acpipowerbutton # sends ACPI poweroff signal
For power off by ACPI the virtual OS needs to be capable to do so, and VirtualBox may also need to enable ACPI support for the VM.
Enable VirtualBox ACPI options:
VBoxManage modifyvm [nameofmachine] --acpi on
Install ACPI support in the Ubuntu VM:
sudo apt-get install acpid
Shutting down guest from SSH
A safer way to shut down the machine in case you have SSH access woud be to issue
user@virtualmachine: sudo poweroff
This will take care to safely shut down and poweroff your guest OS.
-
I want to use the VM as a LAMP server for testing purposes. So after the initial set up, I wanted to avoid interacting with it entirely (like SSH). But it looks like there's no clean way to shutdown with VirtualBox. – Oxwivi Nov 23 '11 at 11:28
-
-
I think the package
acpid
is required. Though I'd need to check if it's installed by default in Ubuntu Server. – Oxwivi Nov 23 '11 at 11:35 -
I use the acpipowerbutton trick to shutdown some Windows Virtual Machines from cron and it works very well. Unluckily, I have never tried to use it in to shut down a linux server. – Javier Rivera Nov 23 '11 at 11:55
-
1
I found this here and tested it - works nicely.
/usr/bin/net rpc shutdown -f -t 1 -I XXX.XXX.XXX.XXX -U <shutdown_acc>%<password>
assumes samba is installed on the host.