![systemd のユーザー単位の検索パスに .config/systemd/user が含まれていませんか?](https://rvso.com/image/1568490/systemd%20%E3%81%AE%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%8D%98%E4%BD%8D%E3%81%AE%E6%A4%9C%E7%B4%A2%E3%83%91%E3%82%B9%E3%81%AB%20.config%2Fsystemd%2Fuser%20%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%3F.png)
Systemd のドキュメントでは、ユーザーごとのユニットを複数の場所に追加できると記載されています。マニュアルページの表 2 を参照してください。
https://www.freedesktop.org/software/systemd/man/systemd.unit.html
これには、たとえば、 が含まれます~/.config/systemd/user
。
ただし、私の Ubuntu 18.04 ボックスでは、systemd はそこを参照していないようで、場所のサブセットのみを参照しています (...strace
サービスを開始しようとしているときに systemd プロセスを使用すると明らかです)。
openat(AT_FDCWD, "/run/user/1000/systemd/system.control/parsec.service", O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/run/user/1000/systemd/transient/parsec.service", O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/systemd/user/parsec.service", O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/systemd/user/parsec.service", O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or directory)
なぜですか? また、ユーザーが書き込み可能な場所からユニットを取得するにはどうすればよいでしょうか?