Я заменил мою систему 14.04 новой установкой 15.10. С 14.04 я использовал сценарий инициализации vboxautostart, чтобы запустить гость vbox во время загрузки и остановить его во время выключения системы. Это было очень хорошо.
Теперь я пытаюсь добиться аналогичной настройки с Ubuntu 15.10. Главное отличие в том, что я должен использовать systemd, с которым я не очень хорошо знаком. Я смог выполнить специфическую настройку vbox, поэтому я могу вызвать /usr/lib/virtualbox/vboxautostart-service.sh start/stop из оболочки, и он отлично работает. Я также могу использовать systemctl start vboxautostart-service.service для запуска гостевой системы vbox. Он даже запускается автоматически при запуске системы после того, как я включил службу. Однако, если я пытаюсь остановить службу с помощью
systemctl stop vboxautostart-service.service
, он ничего не делает, поэтому гость все еще работает. Статус systemctl показывает следующее:
root@linux:~# systemctl -l status vboxautostart-service.service
● vboxautostart-service.service
Loaded: loaded (/usr/lib/virtualbox/vboxautostart-service.sh; enabled; vendor preset: enabled)
Active: inactive (dead) since Sa 2015-10-31 16:39:10 CET; 4min 57s ago
Process: 5645 ExecStop=/usr/lib/virtualbox/vboxautostart-service.sh stop (code=exited, status=0/SUCCESS)
Process: 5586 ExecStart=/usr/lib/virtualbox/vboxautostart-service.sh start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/vboxautostart-service.service
├─ 875 /usr/lib/virtualbox/VBoxXPCOMIPCD
├─ 880 /usr/lib/virtualbox/VBoxSVC --auto-shutdown
└─5602 /usr/lib/virtualbox/VBoxHeadless --comment server --startvm b3376916-8562-442e-a25e-cfe26fa800db --vrde config
Okt 31 16:37:52 linux systemd[1]: Starting vboxautostart-service.service...
Okt 31 16:37:52 linux vboxautostart-service.sh[5586]: Starting VirtualBox VMs configured for autostart
Okt 31 16:37:52 linux systemd[1]: Started vboxautostart-service.service.
Okt 31 16:39:10 linux systemd[1]: Stopping vboxautostart-service.service...
Okt 31 16:39:10 linux systemd[1]: Stopped vboxautostart-service.service.
Команда ExecStop в сервисе выглядит совершенно правильно, однако по какой-то причине она не работает при вызове systemd. Любая идея, что я могу здесь сделать?
Похоже, у меня такая же проблема на ubuntu 16.06 xenial с systemd и VirtualBox 5.1.x, упакованными из Oracle.
Я нашел решение здесь: https://www.virtualbox.org/ билет / 14955
Изменить /usr/lib/virtualbox/vboxautostart-service.sh:
start-stop-daemon --background --chuid $usr --start --exec $bin -- $@ start-stop-daemon --chuid $usr --start --exec $bin -- $@