2

Already tried this Topic but doesn't solved it

I have placed a file called vbox.service under /lib/systemd/system/vbox.service with the following content:

[Unit]
Description=Virtualbox Headless VM

[Service]
ExecStart=/usr/bin/VBoxHeadless --startvm 4decf7c1-7eda-461c-92aa-835d2405a22e
ExecStop=/usr/bin/VBoxManage controlvm 4decf7c1-7eda-461c-92aa-835d2405a22e poweroff
User=my_user

[Install]
WantedBy=muti-user.target

If I start and stop it via sudo systemctl start vbox and sudo systemctl stop vbox, everything works fine Then i entered the following: sudo systemctl enable vbox, but it wont start at boot Here is the output

sudo systemctl status vbox
vbox.service - Virtualbox Headless VM
      Loaded: loaded (/usr/lib/systemd/system/vbox.service; enabled)
      Active: inactive (dead)
      CGroup: name=systemd:/system/vbox.service

Jan 05 02:38:59 exia pulseaudio[1428]: [pulseaudio] main.c: Daemon startup failed.
Jan 05 02:40:08 exia systemd[1]: Started Virtualbox Headless VM.
Jan 05 02:42:02 exia systemd[1]: Stopping Virtualbox Headless VM...
Jan 05 02:42:02 exia VBoxManage[1546]: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Jan 05 02:42:02 exia VBoxHeadless[1375]: Oracle VM VirtualBox Headless Interface 4.2.6_OSE
Jan 05 02:42:02 exia VBoxHeadless[1375]: (C) 2008-2012 Oracle Corporation
Jan 05 02:42:02 exia VBoxHeadless[1375]: All rights reserved.
Jan 05 02:42:02 exia VBoxHeadless[1375]: VRDE server is listening on port 3389.
Jan 05 02:42:02 exia VBoxHeadless[1375]: VRDE server is inactive.
Jan 05 02:42:02 exia systemd[1]: Stopped Virtualbox Headless VM.

/usr/bin/VBoxHeadless --startvm 4decf7c1-7eda-461c-92aa-835d2405a22e works fine Any ideas, though?

4

3 回答 3

4

Arch Linux wiki 上的这个页面包含一个稍微灵活的 systemd.service 文件和一些可能持有关键的附加选项。

该页面还提到 VirtualBox 4.2 有一个内置的自动启动机制,它可能会更好地工作。

/etc/systemd/system/vboxvmservice@.service

[Unit]
Description=VBox Virtual Machine %i Service
Requires=systemd-modules-load.service
After=systemd-modules-load.service

[Service]
User=user
Group=vboxusers
ExecStart=/usr/bin/VBoxHeadless -s %i
ExecStop=/usr/bin/VBoxManage controlvm %i savestate

[Install]
WantedBy=multi-user.target
于 2013-01-24T21:32:46.143 回答
1

您的服务未在引导时启用自动启动,因为您已为其提供了一个不存在的目标的名称,以便在启用时成为其中的一部分。正确的写法是。WantedBy=multi-user.target

于 2015-06-21T11:03:38.180 回答
0

如果运行后没有创建sudo systemctl enable vbox符号链接/etc/systemd/system/multi-user.target.wants/vbox.service,您可以继续手动创建它

sudo ln -sf /lib/systemd/system/vbox.service /etc/systemd/system/multi-user.target.wants/vbox.service

那应该可以解决问题。

一些类似的问题就这样解决了

另一个对我有用的替代方法是将.service文件保存在/etc/systemd/system/而不是/lib/systemd/system/. 这样做可以systemctl enable正常工作。

于 2013-01-27T00:01:37.977 回答