How to permanently disable mouse integration in Virtualbox?

Solution 1:

Until now I saw that the auto mouse integration kicks in just on the linux hosts. So disabling it permanently is not possible.

Solution 2:

This turns it off permanently for me on mac (~2012).

VBoxManage modifyvm "your-vm-name" --mouse ps2

If ps2 does not work for you try the other mouse options ps2|usb|usbtablet|usbmultitouch

Solution 3:

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