Я нашел решение, которое требует имя пользователя, для которого вы хотите контролировать виртуальные машины:
import os, pwd, virtualbox
vbox_user="my_user"
pw=pwd.getpwnam(vbox_user)
root_uid=os.getuid()
# change location of vbox settings file
os.environ["XDG_CONFIG_HOME"]="/home/{}/.config".format(vbox_user)
# change uid to user's
# setting euid alone does not work
os.setresuid(pw.pw_uid, pw.pw_uid, uid)
# create your vbox
vbox=virtualbox.VirtualBox()
# change back to initial uid
os.setresuid(uid, uid, uid)
Вы можете использовать vbox точно так же, как вы бы использовали vbox_user.