автозапуск virtualbox

Возникла задачка — запускать одну из машин virtualbox при старте системы, а не при входе юзера

официальная документация:
Гласит:

В Линукс автозапуск активируется с помощью двух переменных в файле  /etc/default/virtualbox.
Первая переменная —  VBOXAUTOSTART_DB содержит путь к каталогу базы данных автозапуска. Каталог должен иметь доступ на запись для всех пользователей от имени которых производится автозапуск виртмашины. Кроме того, каталог должен иметь липкий бит. (то есть скажем права доступа 1775 или что-то типа того).
Вторая переменная —  VBOXAUTOSTART_CONFIG  указывает каким пользователям следует разрешить запуск ВМ. Также устанавливает задержку запускf виртмашины.
Файл конфигурации может быть помещен в /etc/vbox и может содержать следующие опции:
1. default_policy — контролирует разрешать или нет автозапуск VM для всех пользователей, которые не находятся в списке исключений.
2. exception_list содержит разделенный запятыми список с именами пользователей к которым не относится default_policy.
Кроме того можно задавать политику для каждого отдельного пользователя, с задержкой запуска (чтобы не перегружать хост-машину)
пример:
# По умолчанию политика безопасности запрещает старт ВМ для всех подряд. Но на свой страх и риск можно установить default_policy = deny

# Пользователю Bob разрешен старт ВМ. при этом будет задержка при старте в 10 секунд

bob = {
    allow = true
    startup_delay = 10
}

# Пользователю Alice не разрешен запуск ВМ - это полезно для запрета для определенных дебилов.
alice = {
    allow = false
}
Для каждого пользователя, который хочет включить автозапуск для отдельных машин должен быть прописан путь к каталогу базы данных автозапуска:
VBoxManage setproperty autostartdbpath <Autostart directory>

Попробуем на практике:

1 создаем файлик (или добавляем в существующий) /etc/default/virtualbox следующее:
VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/vboxautostart.cfg
2 Создаём файл /etc/vbox/vboxautostart.cfg с содержимым:
default_policy = deny
username = {
    allow = true
    startup_delay = 5
}
3 меняем права:
# chgrp vboxusers /etc/vbox
# chmod 1775 /etc/vbox
4 Устанавливаем путь к базе для пользователя:
VBoxManage setproperty autostartdbpath /etc/vbox
5  Устанавливаем нашей виртуальной машине свойство автозапуска и остановки:
$ VBoxManage modifyvm «имя_виртуальной_машины» —autostart-enabled on
$ VBoxManage modifyvm «имя_виртуальной_машины» —autostop-type acpishutdown
6 Проверяем запуск:
# /etc/init.d/vboxautostart-service start
Остановить:
# /etc/init.d/vboxautostart-service stop
Как дополнение — не на всех версиях линуха этот рецепт срабатывает.
http://askubuntu.com/questions/404665/how-to-start-virtual-box-machines-automatically-when-booting
«
I had similar unhappy incidents trying this operation on the vanilla LTS.
 
~$ cat /etc/os-release 
NAME=»Ubuntu» 
VERSION=»14.04.1 LTS, Trusty Tahr» 
 
On this version, the key file /etc/init.d/vboxautostart-service was not installed.
 
As far as I know all the VitualBox and requirements were put in by apt-get, so I cannot say why the ‘vboxautostart-service’ file was not also provided. But to get over this here are my update to kdmurray’s post.
 
1) /etc/default/virtualbox file existed for me. So must add vars:
 
VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg
 
2) Must create /etc/vbox/autostart.cfg as indicated by OP.
 
6b) Need to get a vboxautostart-service script and make it executable.
 
cd /etc/init.d/
sudo wget http://www.virtualbox.org/browser/vbox/trunk/src/VBox/Installer/linux/vboxautostart-service.sh?format=raw -O vboxautostart-service
sudo chmod +x vboxautostart-service
 
6c) Alert the rc.d controller, but I used 24 as the start time. Putting just 20 and it did not start up. Perhaps it ran even before virtualbox was working.
 
sudo update-rc.d vboxautostart-service defaults 24 24
 
Then rebooting launched the VM correctly.
shareimprove this answer
«
Суть в чем — для Ubuntu 14.04 Trusty Tahr /etc/init.d/vboxautostart-service не будет срабатывать — там про такой линух ни слова.
чел сделал так:
/etc/default/virtualbox — как в оригинальном мануале
/etc/vbox/autostart.cfg — тоже
нужно заменить vboxautostart-service на скачанный с сайта
cd /etc/init.d/
sudo wget http://www.virtualbox.org/browser/vbox/trunk/src/VBox/Installer/linux/vboxautostart-service.sh?format=raw -O vboxautostart-service
sudo chmod +x vboxautostart-service
устанавливаем уровни запуска для сервиса:
sudo update-rc.d vboxautostart-service defaults 24 24
дополнительно читать:
http://unixforum.org/index.php?showtopic=139670

Добавить комментарий