
Моя операционная система — Ubuntu Bionic beaver.
Я написал служебный модуль systemd:
/etc/systemd/user# ll
total 20
drwxrw-r-x 2 rock64 rock64 4096 Nov 23 15:06 ./
drwxr-xr-x 5 root root 4096 Nov 20 07:21 ../
-rw-r--r-- 1 rock64 rock64 74 Nov 23 14:30 photon_uploader.env
-rwxr-xr-x 1 rock64 rock64 463 Nov 23 14:50 photon_uploader.service*
-rw-r--r-- 1 rock64 rock64 175 Nov 23 14:57 photon_uploader.socket
но если я попытаюсь включить его, то получу ошибку:
systemctl enable photon_uploader
Failed to enable unit: Unit file photon_uploader.service does not exist.
Я не смог придумать, куда систематически поместить файл службы, поэтому я поместил его в папку пользователя, и поскольку я устанавливаю службу из удаленного расположения, я синхронизирую ее по rsync и передал право собственности на папку пользователя пользователю, не являющемуся root. Я
решение1
Для службы systemd в моем пользовательском пространстве я поместил свои файлы в $HOME/.config/systemd/user
. Затем я запустил systemctl enable --user my_service
.