Virtualbox Headless:无法通过systemd启动

时间:2013-01-05 11:50:52

标签: virtualbox archlinux systemd

已经尝试this Topic但未解决

我在/lib/systemd/system/vbox.service下放置了一个名为vbox.service的文件,其中包含以下内容:

[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

如果我开始并通过它停止它 sudo systemctl start vboxsudo systemctl stop vbox,一切正常 然后我输入以下内容: sudo systemctl enable vbox,但它不会在启动时启动 这是输出

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工作正常 但是有什么想法吗?

3 个答案:

答案 0 :(得分:3)

This page on the 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

答案 1 :(得分:1)

您的服务未在启动时自动启动,因为您已经为其指定了启用时不存在的目标的名称。正确的拼写是WantedBy=multi-user.target

答案 2 :(得分: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

这应该解决问题。

Some similar problems solved that way

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