2
1
Systemd docs state that per-user units can be added to multiple locations: see Table 2 on the man page:
https://www.freedesktop.org/software/systemd/man/systemd.unit.html
This includes, for example, ~/.config/systemd/user
.
However, on my Ubuntu 18.04 box, systemd doesn't appear to look there, only at a subset of locations (... as it's apparent using strace
on the systemd process while trying to start my service):
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)
Why? Also, how can I get it to pick up units from user-writable locations?