Virtualbox无头:未通过systemd启动

Virtualbox无头:未通过systemd启动,virtualbox,archlinux,systemd,Virtualbox,Archlinux,Systemd,已经试过了,但没有解决 我已在/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 controlv

已经试过了,但没有解决

我已在/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启动vbox和sudo systemctl停止vbox,一切正常 然后我输入以下内容: sudo systemctl启用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工作正常 不过,有什么想法吗?

包含一个稍微灵活一些的systemd.service文件和一些可能掌握关键的附加选项

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

/etc/systemd/system/vboxvmservice@.service

包含一个稍微灵活的systemd.service文件和一些可能持有密钥的附加选项

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

/etc/systemd/system/vboxvmservice@.service

如果在运行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可以正常工作。

如果在运行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正常工作。

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

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

这对我不起作用。系统CTL启用后vboxvmservice@xp,上面写着ln-s'/etc/systemd/system/vboxvmservice@.service''/etc/systemd/system/multi-user.target.wants/vboxvmservice@xp.service,执行systemctl start时不会发生任何事情vboxvmservice@xp. 顺便问一下,由于systemctl只能由root用户执行,这是否意味着此方法总是需要root用户权限才能运行虚拟机?这对我不起作用。系统CTL启用后vboxvmservice@xp,上面写着ln-s'/etc/systemd/system/vboxvmservice@.service''/etc/systemd/system/multi-user.target.wants/vboxvmservice@xp.service,执行systemctl start时不会发生任何事情vboxvmservice@xp. 顺便问一下,由于systemctl只能由root用户执行,这是否意味着此方法始终需要root用户权限才能运行虚拟机?