Virtualbox无头:未通过systemd启动
已经试过了,但没有解决 我已在/lib/systemd/system/vbox.service下放置了一个名为vbox.service的文件,其中包含以下内容: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
[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用户权限才能运行虚拟机?