From f88106d43437e513456d24e579b03786193590e5 Mon Sep 17 00:00:00 2001 From: Alexander Zhirov Date: Thu, 22 Jun 2023 08:32:59 +0300 Subject: [PATCH] VBox systemd --- program/src/virtualbox.md | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/program/src/virtualbox.md b/program/src/virtualbox.md index f817dc1..a6abc49 100644 --- a/program/src/virtualbox.md +++ b/program/src/virtualbox.md @@ -40,3 +40,61 @@ VBoxManage controlvm где `subcommand`: - ` pause|resume|reset|poweroff` + +## Запуск как сервис systemd + +Необходимо добавить пользователя в группу `vboxusers`: + +```sh +sudo usermod -a -G vboxusers $USER +``` + +Создать модуль шаблона systemd для запуска и остановки виртуальных машин VirtualBox: + +```sh +sudo touch /etc/systemd/system/vbox_vm_start@.service +``` + +с содержимым: + +```sh +[Unit] +Description=VirtualBox VM %I +After=network.target vboxdrv.service +Before=runlevel2.target shutdown.target + +[Service] +User= +Group=vboxusers +Type=forking +Restart=no +TimeoutSec=5min +IgnoreSIGPIPE=no +KillMode=process +GuessMainPID=no +RemainAfterExit=yes + +ExecStart=/usr/bin/VBoxManage startvm %i --type headless +ExecStop=/usr/bin/VBoxManage controlvm %i acpipowerbutton + +[Install] +WantedBy=multi-user.target +``` + +Заменить `` на пользователя, от имени которого будет запускаться виртуальная машина. + +Для включения модуля запуска systemd выполнить команду: + +```sh +sudo systemctl enable vbox_vm_start@ +``` + +где `` заменть на имя виртуальной машины. + +Получть список виртуальных машин: + +```sh +VBoxManage list vms +``` + +**Для запуска сервисов имена VBox машин не должны содержать пробельные символы**