Используйте общую настройку VirtualBox между пользователями

Я хочу решить следующий вариант использования: моя жена и я (= два отдельных пользователя linux) хотят использовать ЖЕ виртуальную машину VirtualBox Windows10. Поэтому моя идея состоит в том, чтобы иметь все настройки VirtualBox под пользователем «vmuser» и запускать VirtualBox всегда в среде vmuser.

Затем в папке / home / vmuser устанавливаются все настройки VirtualBox.

На каждом рабочем столе пользователя я добавил настольный файл «VirtualBox.desktop» с содержимым:

 [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=`

При нажатии на этот значок запускается файл /usr/local/bin/startVirtualBox.sh. «-W» не заменяет существующие переменные окружения. Я использую «mate-терминал», потому что он запускается на моей машине быстрее, чем «gome-терминал», но ваш пробег может отличаться.

По некоторым для меня пока неизвестным причинам (я думаю, что проблема в / bin / sh в начале, но без этого не работает), мне нужно определить переменные среды следующим образом:

 #!/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

Это решение работает, как и ожидалось, несмотря на некоторые сообщения об ошибках во время запуска VirtualBox в дополнительном окне консоли:

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

Пользовательский каталог времени выполнения находится под контролем пользователя, который щелкает значок на рабочем столе (id = 1000) и процесс VirtualBox запускается под vmuser (идентификатор пользователя = 1002). Хорошо.

Но кто-нибудь знает, как от этого избавиться?

1
задан 24 June 2019 в 00:17

1 ответ

Интересный вопрос - я только что получил идею.

  • пользователь A создает виртуальную машину с виртуальным жестким диском в каталоге, где оба пользователя имеют разрешения на полный доступ
  • выключает машину
  • пользователь B создает виртуальную машину с идентичными свойствами , но не создает новый виртуальный жесткий диск. Вместо этого используйте тот, который создан пользователем A.
  • выключить машину

Предупреждение : вам всегда придется выключать виртуальную машину, не позволяйте VirtualBox «сохранять состояние»

1
ответ дан 24 June 2019 в 00:17

Другие вопросы по тегам:

Похожие вопросы: