
私のオペレーティング システムは 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を使用し、ユーザーフォルダの所有権を非ルートユーザーに与えました。
答え1
ユーザー空間の systemd サービスの場合、ファイルを に配置しました$HOME/.config/systemd/user
。次に、 を実行しましたsystemctl enable --user my_service
。