
В документации 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)
Почему? И как мне заставить его выбирать единицы из мест, которые может записывать пользователь?