VBox systemd

This commit is contained in:
Alexander Zhirov 2023-06-22 08:32:59 +03:00
parent 3ba8def22a
commit f88106d434
1 changed files with 58 additions and 0 deletions

View File

@ -40,3 +40,61 @@ VBoxManage controlvm <subcommand>
где `subcommand`:
- `<name or UUID> 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=<MyUser>
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
```
Заменить `<MyUser>` на пользователя, от имени которого будет запускаться виртуальная машина.
Для включения модуля запуска systemd выполнить команду:
```sh
sudo systemctl enable vbox_vm_start@<name of VM>
```
где `<name of VM>` заменть на имя виртуальной машины.
Получть список виртуальных машин:
```sh
VBoxManage list vms
```
**Для запуска сервисов имена VBox машин не должны содержать пробельные символы**