I have had three problems on a linux host:
If it is not disabled you have to hit Return when VBox asks to go full screen
Mouse de-integration is not automatic (my client nabs the usb mouse directly)
and...
The VBoxControl program in the client savestate command is borked
The following script takes care of all three issues.
It requires you to apt-get wmctrl and xdotool.
Guest additions must be installed.
Change VM_NAME!
Change DISPLAY to whatever monitor you want.
To savestate run "sudo VBoxControl guestproperty set SaveStateNow 1" in a client terminal.
---cut-here---
#!/bin/bash
VM_NAME='My Machine Name'
MAXTRIES=20
export DISPLAY=:0.1
VBoxManage startvm "$VM_NAME" &
i="0"
while [ $i -lt $MAXTRIES ]; do
echo Fullscreen try $i
wmctrl -a "VirtualBox - Information"
if [ $? == 0 ]; then
sleep 1
xdotool key "Return"
break
fi
sleep 1
i=$[$i+1]
done
i="0"
while [ $i -lt $MAXTRIES ]; do
echo Pointer try $i
GUEST_ADDITIONS_ACTIVE=`VBoxManage showvminfo "$VM_NAME" | grep "Additions run level" | cut -d : -f 2`
if [ $GUEST_ADDITIONS_ACTIVE == "1" ]; then
sleep 1
xdotool key "Super_R+i"
break
fi
sleep 1
i=$[$i+1]
done
while true; do
if [ "`VBoxManage guestproperty get "$VM_NAME" SaveStateNow`" != 'No value set!' ]; then
echo Saving...
VBoxManage guestproperty set "$VM_NAME" SaveStateNow
VBoxManage controlvm "$VM_NAME" savestate
break
fi
sleep 1
done