How to share a VirtualBox virtual machine with users of the computer
The idea
To make a VM available from different user accounts on one computer (not having it running at the same time), you need to set up a few things:
- Locate the virtual hard drive of the shared machine in a directory where different users have appropriate permissions.
- Create virtual machines on the different accounts, using that same virtual hard drive.
How it can be done
Create a shared folder, in your personal home folder, for you and other user(s):
Make other users member of the group
yourusername
(the easiest way is to install gnome-system-tools and use theusers and groups
-section.Manage groups > choose_yourusername > properties > add_other_users
(detailed instructions here to mange users, and here to create a shared folder)Change the permissions of the folder; right-click on in nautilus. In the permissions tab, change the group permissions for group
yourusername
toread & write
.Change the permissions for the files in the folder similarly (the button down in the nautilus properties window).
Create a virtual machine in VirtualBox. Do not use the default directory for a disk, but browse to the shared folder and save the disk image there. If you have an existing VM, delete it, delete its folder in
~/VirtualBox VMs
as well, but keep its disk image, and move it to the shared folder first, then create a new VM, using the existing image as a harddisk. (if you try to relink the disk image in your existing VM, VirtualBox will complain the UUID already exists).- On the other user's account(s), create similar machines, but use the hard disk image in the shared directory:
/home/yourusername/shared_folder/machine_name.vdi
(depending on the diskimage you created)
it's easier to just set file permissions for particular VM for user group.
I doesn't matter where it is, you don't have to delete and redo anything.
In my case it was in my \home\ folder and I just set file permissions to read/write for user group where the other user was.
Then log in as this other user, enter Virtualbox > Machine > Add and navigate to vmdk (or other format) file of this particular VM.
No issues. No idea why you need to create new VM.