如何更改systemd中的UnitPath属性?

如何更改systemd中的UnitPath属性?

$XDG_CONFIG_HOME我正在尝试使用大量使用、等的非标准主目录设置,$XDG_CACHE_HOME并且大多数程序都运行得很好。不幸的是,我的 systemd 用户服务mopidy不适用于此配置。

我已$XDG_CONFIG_HOME设置为~/cfg并根据man systemd.unit

$XDG_CONFIG_HOME/systemd/user or        │ User configuration
$HOME/.config/systemd/user              │ ($XDG_CONFIG_HOME is
                                        │ used if set, ~/.config
                                        │ otherwise)

systemctl --user start mopidy应该可以正确地找到mopidy.service那里的文件(at ~/cfg/systemd/user/mopidy.service),但没有发生。

我当然尝试过将其移动到手册页中列出的其他一些目录,尽管确实systemctl在其中一些目录中识别了它,但它仍然没有mopidy从正确的位置读取配置(自身)。

有趣的是,systemctl --user show --property=UnitPath只返回一些选项,.config而不是 my$XDG_CONFIG_HOME实际设置的值:

UnitPath=/home/uver/.config/systemd/user.control /run/user/1000/systemd/user.control /run/user/1000/systemd/transient /run/user/1000/systemd/generator.early /home/uver/.config/systemd/user /etc/xdg/systemd/user /etc/systemd/user /run/user/1000/systemd/user /run/systemd/user /run/user/1000/systemd/generator /home/uver/.local/share/systemd/user /usr/local/share/systemd/user /usr/share/systemd/user /usr/local/lib/systemd/user /usr/lib/systemd/user /run/user/1000/systemd/generator.late

我的问题是:我如何手动更改此值中的路径,或者如何强制 systemd 在我的自定义目录中查找用户单元/服务?

谢谢 :)

相关内容