× К оглавлению На главную Об авторе

   Дата и время публикации:

Проблема и решение

1. Суть проблемы

Является в совместном доступе со стороны гипервизора к директориям файловой системы, запущенной на гостевой ОС в виртуальной машине и управляемых через Gnome boxes

Такую возможность предоставляет демон spice-webdavd [3.1], который позволяет пробрасывать виртуальный канал Spice и обеспечивает доступ гостевой ОС к совместно используемым ресурсам на центральном узле по клиент-серверной схеме информационного обмена. Поэтому gnome-boxes является здесь клиентом, а запускаемый демон spice-webdavd на стороне гостевой ОС является сервером.

Таким образом, назначение демона spice-webdavd является в проксировании WebDAV запросов через виртуальные каналы Spice, реализуемые с помощью технологии WebDAV (Web Distributed Authoring and Versioning), которая представляет собой набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием и управлением удаленного доступа к объектам файловой системы. При этом технологию Space можно использовать для других целей на различных этапах разработки [3.2], т.к. она позволяет получать доступ к удаленным дисплеям и устройствам, например, к клавиатуре, ручному манипулятору типа "мышь" и аудио устройствам.

2. Решение

2.1 Установка

В Debian/ubuntu пакет spice-webdavd [3.4], предоставляет демон phởdav [3.6], который является исполнением сервера WebDAV с использованием libsoup (RFC 4918) [3.5] и устанавливаемого на гостевой ОС, как показано в дампе 2.1.1

Дамп 2.1.1

$ sudo apt update
$ sudo apt -y upgrade
$ sudo apt install  spice-webdavd

После выполнения установки пакета spice-webdavd [3.4] необходимо перезапустить виртуальную машину, она же — гостевая ОС, и открыть в ее свойствах диалоговое окно "Устройства и совместные ресурсы" gnome-boxes, которое показано на рисунке 2.2.1

2.2 Настройка ресурсов совместного доступа

Как показано на рисунке 2.2.1, совместные ресурсы настраиваются в диалоговом окне "Устройства и совместные ресурсы" в свойствах запущенной виртуальной машины и поднятым на ней демоном spice-webdavd.

Рисунок 2.2.1

В котором, для установки совместных папок, нужно нажать кнопку c символом плюс (+), чтобы сделать директорию файловой системы на стороне центрального узла в качестве совместно используемой папки, как показано на рисунке 2.2.2

Рисунок 2.2.2

В моем случае, ей оказалась директория /home/user/yocto-poky/sharedir центрального узла, которую назначил папкой совместного доступа vm-sharedir, как показано на рисунке 2.2.3

Рисунок 2.2.3

Далее, мне осталось лишь открыть менеджер файлов на рабочем столе запущенной гостевой ОС, как показано на рисунке 2.2.4

Рисунок 2.2.4

И на конец, осталось лишь выбрать сеть Spice client tools , после открытия которой стал доступен виртуальный канал, или вернее клиентское соединение, Spice client folder, как показано на рисунке 2.2.5

Рисунок 2.2.5

Клиентское соединение Spice client folder реализует пользовательский интерфейс на уровне менеджера файлов рабочего стола гостевой ОС для доступа к назначенной только что совместно используемой директории /home/user/yocto-poky/sharedir центрального узла и отображаемой под именем vm-sharedir, как показано на рисунке 2.2.6

Рисунок 2.2.6

3. Библиография

3.1 gnome-boxes: Introducing shared folders

3.2 Spice User Manual

3.3 Wiki -- WebDAV

3.4 Debian -- Package spice-webdavd

3.5 libsoup

3.6 phởdav