Ubuntu

Systemd 服務未啟動(WantedBy=multi-user.target)

  • August 27, 2021

作業系統:Ubuntu 20.04.3

$ \cat /home/nikhil/.config/systemd/user/Festival.service
[Unit]
Description=Festival Service

[Service]
ExecStart=/usr/bin/festival --server
Restart=on-failure
RestartSec=10
SyslogIdentifier=FestivalService

[Install]
WantedBy=multi-user.target

描述

我做到了systemctl --user enable Festival.service,重新啟動了我的系統。但是節日伺服器沒有啟動。只有當我手動執行時systemctl --user start Festival.service,它才會啟動。

問題

您能否告訴我,為什麼使用者服務不適用於multi-user.target,假設每次啟動都可以使用?

參考

multi-user.target適用於系統匯流排,但您使用--user的是與使用者匯流排一起使用的。使用者匯流排通常沒有multi-user.target

stew ~ $ sudo systemctl status multi-user.target
● multi-user.target - Multi-User System
    Loaded: loaded (/lib/systemd/system/multi-user.target; static)
    Active: active since Fri 2021-08-27 10:09:41 CEST; 5h 19min ago
      Docs: man:systemd.special(7)

Aug 27 10:09:41 stewbian systemd[1]: Reached target Multi-User System.


stew ~ $ systemctl --user status multi-user.target
Unit multi-user.target could not be found.

解決方案是使用系統匯流排(將在啟動時啟動服務),或使用使用者匯流排(將在使用者登錄時啟動)。

如果您選擇堅持使用​​使用者匯流排,則更multi-user.target改為default.target(這是主要使用者目標)。

如果您選擇切換到系統匯流排,那麼您仍然可以User=在該[Service]部分中以您的使用者身份執行該服務。

有關這些目標的資訊,請參閱man systemd.special

引用自:https://unix.stackexchange.com/questions/666509