操作系统:Ubuntu 20.04.3
$ \cat /home/nikhil/.config/systemd/user/Festival.service
[Unit]
Description=Festival Service
[Service]
ExecStart=/usr/bin/festival --server
Restart=on-failure
RestartSec=10
SyslogIdentifier=FestivalService
[Install]
WantedBy=multi-user.target
描述
我这样做了systemctl --user enable Festival.service
,重新启动了我的系统。但节日服务器没有启动。只有当我手动执行时systemctl --user start Festival.service
,它才会启动。
问题
您能否告诉我,为什么用户服务不能与 一起使用multi-user.target
,而它应该在每次启动时都起作用?
参考
答案1
multi-user.target
适用于系统总线,但您正在使用--user
与用户总线一起使用的。用户总线通常没有multi-user.target
stew ~ $ sudo systemctl status multi-user.target
● multi-user.target - Multi-User System
Loaded: loaded (/lib/systemd/system/multi-user.target; static)
Active: active since Fri 2021-08-27 10:09:41 CEST; 5h 19min ago
Docs: man:systemd.special(7)
Aug 27 10:09:41 stewbian systemd[1]: Reached target Multi-User System.
stew ~ $ systemctl --user status multi-user.target
Unit multi-user.target could not be found.
解决方案是使用系统总线(将在启动时启动服务),或使用用户总线(将在用户登录时启动)。
如果您选择坚持使用用户总线,则更改为multi-user.target
(default.target
这是主要用户目标)。
如果您选择切换到系统总线,那么您仍然可以User=
在本[Service]
节中以您的用户身份运行该服务。
看man systemd.special
有关这些目标的信息。