已经尝试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 vbox
和sudo 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工作正常 但是有什么想法吗?
答案 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}}正常工作。