Проблема при попытке установить службу для запуска виртуальных машин Virtualbox без монитора

Проблема при попытке установить службу для запуска виртуальных машин Virtualbox без монитора

Моя цель — заставить Ubuntu корректно запускать и останавливать виртуальную машину VirtualBox без ОС при запуске и остановке моей хост-машины (Ubuntu 10.04).

Я используюсценарийпредоставленоСтраница Кадира Каримуллы.

Это заголовок комментария LSB из скрипта (я исключил vboxnet из «Required-Start», чтобы уменьшить зависимости):

### BEGIN INIT INFO
# Provides:          vboxsvc
# Required-Start:    $local_fs $remote_fs vboxdrv 
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: VirtualBox Service
# Description:       VirtualBox Service to startup and shutdown Virtual Machines
### END INIT INFO

Как объяснил Quadir, я нашел «vboxsvc» в /etc/init.d/ и выполнил:

$sudo update-rc.d vboxsvc

Это создало ссылки для уровней запуска. Например, на уровне запуска 2:

$ls -l /etc/rc2.d/
...
lrwxrwxrwx 1 root root  17 2010-11-03 20:02 S20vboxdrv -> ../init.d/vboxdrv
lrwxrwxrwx 1 root root  25 2010-11-03 20:03 S20vboxweb-service -> ../init.d/vboxweb-service
lrwxrwxrwx 1 root root  17 2010-11-11 21:43 S21vboxsvc -> ../init.d/vboxsvc
...

Если я запущу|остановлю службу вручную:

$sudo /etc/init.d/vboxsvx start

все работает как и ожидалось.

Служба не отображается в списке, если я использую «service --status-all», но она отображается, если я использую sysv-rc-conf --list.

Он не запускается автоматически при загрузке компьютера. С другой стороны, служба автоматически останавливается при перезагрузке или выключении. По какой-то причине при загрузке системы ссылка /etc/rc2.d/S21vboxnet не выполняется или происходит что-то еще.

Я знаю, что в Ubuntu сейчас все делается с помощью Upstart, но SysV init все еще поддерживается, верно?

РЕДАКТИРОВАТЬ:Я думаю, что я близок к решению проблемы. Я думаю, что решение связано с шифрованием моей домашней файловой системы. Когда процесс init выполняет соответствующие скрипты запуска и пытается выполнить "sudo -H -u myuser VBoxManage myVirtualMachine -type vrdp > /dev/null", у него нет доступа к данным myVirtualMachine (которые находятся в зашифрованной файловой системе), потому что я еще не вошел в систему как myuser и, следовательно, моя домашняя файловая система не была смонтирована.

решение1

Как я и думал, вся проблема была в том, что мой домашний раздел был зашифрован.

Я в итоге последовал этомувопросдля снятия шифрования.

Мой совет: если вы не знаете, что делаете, не шифруйте домашний раздел при установке Ubuntu. Если вы это сделаете, имейте в виду, что если вы не вошли в систему, все в вашем домашнем каталоге будет заблокировано для других пользователей (включая root).

решение2

Не лучше ли было бы просто создать нового системного пользователя для запуска VirtualBox, чем расшифровывать домашнюю папку?

Таким образом, ваша защита сохранится, и виртуальные машины смогут запускаться без проблем.

Связанный контент