1 votos

Utilizar una configuración común de VirtualBox entre los usuarios

Quiero resolver el siguiente caso de uso: mi mujer y yo (= dos usuarios de linux por separado) queremos utilizar LA MISMA máquina virtual VirtualBox Windows10. Así que mi idea es tener todas las configuraciones de VirtualBox bajo el usuario "vmuser" e iniciar VirtualBox siempre en el entorno vmuser.

A continuación, en la carpeta /home/vmuser se configuran todos los ajustes de VirtualBox.

En cada escritorio de usuario he añadido un archivo de escritorio "VirtualBox.desktop" con el contenido:

 [Desktop Entry]
 Comment=
 Exec=mate-terminal -- /bin/su vmuser -w QT_QPA_PLATFORM_THEME,DISPLAY,XDG_RUNTIME_DIR -c /usr/local/bin/startVirtualBox.sh
 GenericName=Go virtual
 Icon=virtualbox
 MimeType=
 Name=VirtualBox
 Path=
 StartupNotify=true
 Terminal=true
 TerminalOptions=
 Type=Application
 X-DBUS-ServiceName=
 X-DBUS-StartupType=
 X-KDE-SubstituteUID=false
 X-KDE-Username=`

Al hacer clic en este icono, se inicia el archivo /usr/local/bin/startVirtualBox.sh . El "-w" es para no reemplazar las variables de entorno existentes. Yo uso "mate-terminal" porque se inicia más rápido en mi máquina en comparación con "gome-terminal", pero su kilometraje puede variar.

Por alguna razón que aún desconozco (creo que el problema es el /bin/sh al principio pero no funciona sin él) necesito definir las variables de entorno de esta manera:

 #!/bin/sh
 QT_X11_NO_MITSHM=1 
 DISPLAY=$DISPLAY
 XAUTHORITY=$XAUTHORITY
 XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR
 export QT_X11_NO_MITSHM
 export DISPLAY 
 export XAUTHORITY 
 export XDG_RUNTIME_DIR 

 /usr/bin/VirtualBox

Esta solución funciona como se esperaba a pesar de algunos mensajes de error durante el inicio de VirtualBox en la ventana de la consola adicional:

Qt WARNING: QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 1002
Qt WARNING: Qt: Session management error: None of the authentication protocols specified are supported

El directorio de ejecución del usuario está bajo el control del usuario que hace clic en el icono del escritorio (id=1000) y el proceso de VirtualBox se inicia bajo el vmuser (id de usuario = 1002). Bien.

Pero, ¿alguien sabe cómo deshacerse de esto?

1voto

user1721265 Puntos 8491

Interesante pregunta: se me acaba de ocurrir una idea.

  • el usuario A crea una VM, con el disco duro virtual en un directorio donde ambos usuarios tienen permisos de acceso total
  • apagar la máquina
  • El usuario B crea una VM con idénticas propiedades, pero no crea un nuevo HDD virtual. En su lugar utiliza el creado por el usuario A.
  • apagar la máquina

Advertencia : siempre tendrás que apagar la VM, no dejes que VirtualBox "guarde el estado"

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: