特定のユーザーに対してsystemdサービスを開始しようとしています(サービス名/目標は関係ありません)。これは、起動時にアプリケーションのユーザーごとのプロセスを実行する必要があるためです。
これが私がこれまでに達成したことです:
そして、次のことを行いました:
〜$ systemctl --user enable custom.service
次に https://wiki.archlinux.org/index.php/Systemd/User#Automatic_start-up_of_systemd_user_instances で述べたように、ユーザーセッションが実行されていない場合でも、このサービスが実行されるようにしました。
〜$ loginctl enable-linger $ USER
しかし、再起動してもサービスが開始されないようで、そのサービスのjournalctlには何も表示されません。しかし、ステータスはサービスが有効になっていると言いました:
〜$ systemctl --user status transmission-daemon
●custom.service-カスタムデーモン
ロード済み:ロード済み(/etc/systemd/user/custom.service;有効、ベンダープリセット:有効)アクティブ:非アクティブ(デッド)
また、実行することで問題なく手動で実行できます
〜$ systemctl --user start custom.service
誰かが私が間違ったことを知っているように?
ありがとう!
これがあなたのケースであるかどうかはわかりませんが、 https://unix.stackexchange.com/questions/251211/why-doesnt-my-systemd-user-unit-start-atの回答で解決できます-boot 問題は、私がWantedBy=multi-user.target
を持っていて、それをWantedBy=default.target
に変更しなければならず、それが機能したことです。
もう1つ、サービスファイルは~/.config/systemd/user
にあります