16

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?

2
  • 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
23

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.

7
  • 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
  • Wait, now that you've mentioned VBoxManage, I checked it's manpage - there's an option that goes VBoxManage controlvm <uuid>|<name> acpipowerbutton. Will Ubuntu Server respect the signal and shutdown? – Oxwivi Nov 23 '11 at 11:32
  • 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
    Please add those to the answer. – Oxwivi Nov 23 '11 at 11:56
0

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.