我有一个systemd
服务配置为在图形会话启动时启动。
[Unit]
Description=My service
Requires=display-manager.service
After=graphical.target display-manager.service
< ... >
[Install]
WantedBy=graphical.target
到目前为止,该服务在启用时在启动时正确启动,因此我假设没有“微不足道”的错误(例如语法等)。
enable
然而,最近引入了一项更改,其中首先决定是否使用该服务的问题是根据systemd
在启动序列中较早排队的不同服务评估的配置文件来决定的。如果发现My service
需要启用,它将运行systemctl enable my.service
,并且正确完成。系统日志显示相应的systemd[1]: Reloading.
条目。如果我添加一个额外的systemctl daemon-reload
,我会收到Reloading
两次消息。
然而,my.service
图形会话启动时不运行。
systemctl status
显示它已启用(但 - 如前所述 - 未运行):Loaded: loaded (/etc/systemd/system/my.service; enabled; vendor preset: disabled) Active: inactive (dead)
- 检查
graphical.target.wants
目录时,它包含到 的符号链接my.service
。
如果我现在只是重新启动系统,它my.service
就会在启动时正确启动。
这让我认为systemd
引导队列在引导阶段更改时不会更新。是这样吗?如果是这样,有补救办法吗?