Start VBoxHeadless VM at startup
THIS is what finally worked!
1) Create the startup script file
in /etc/init.d - sudo nano /etc/init.d/StartVM
.
Copy Paste the following in the file and replace "My VM Name" for your vm name:
#! /bin/sh
# /etc/init.d/StartVM
#
#Edit these variables!
VMUSER=spode
VMNAME="My VM Name"
case "$1" in
start)
echo "Starting VirtualBox VM..."
sudo -H -b -u $VMUSER /usr/bin/VBoxVRDP -s "$VMNAME"
;;
stop)
echo "Saving state of Virtualbox VM..."
sudo -H -u $VMUSER /usr/bin/VBoxManage controlvm "$VMNAME" savestate
;;
*)
echo "Usage: /etc/init.d/StartVM {start|stop}"
exit 1
;;
esac
exit 0
2) Give the script executable permission
with sudo chmod +x /etc/init.d/StartVM
.
3) Tell script to run at startup.
tell the script be the first to shutdown and the last to startup.
sudo update-rc.d StartVM defaults 99 01
FYI, This works on Opensuse without nohup.
VBoxHeadless -s "OpenSuSE 11.4 64bit" &
This is working ok with Ubuntu server 12.04 and VirtualBox 4.2.20.
#! /bin/sh
# /etc/init.d/StartVM
#
#Edit these variables!
VMUSER=username
case "$1" in
start)
echo "Starting VirtualBox VM SMARTHOST ..."
sudo -u $VMUSER VBoxManage startvm SMARTHOST --type headless
echo "Starting VirtualBox VM wxp-acceso ..."
sudo -u $VMUSER VBoxManage startvm wxp-acceso --type headless
echo "Starting VirtualBox VM wmmaq_edi ..."
sudo -u $VMUSER VBoxManage startvm vmmaq_edi --type headless
;;
stop)
echo "Saving state of Virtualbox VM SMARTHOST ..."
sudo -u $VMUSER VBoxManage controlvm SMARTHOST savestate
echo "Saving state of Virtualbox VM wxp-acceso ..."
sudo -u $VMUSER VBoxManage controlvm wxp-acceso savestate
echo "Saving state of Virtualbox VM vmmaq_edi ..."
sudo -u $VMUSER VBoxManage controlvm vmmaq_edi savestate
;;
*)
echo "Usage: /etc/init.d/StartVM {start|stop}"
exit 1
;;
esac
exit 0
And
sudo chmod +x /etc/init.d/StartVM
and
sudo update-rc.d StartVM defaults 99 01
as indicated at a previous answer.