Systemdサービスが開始されませんでした(WantedBy = multi-user.target)。

Systemdサービスが開始されませんでした(WantedBy = multi-user.target)。

オペレーティングシステム: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起動するたびに動作する必要があるユーザーサービスがなぜ機能しないのかを教えてください。

引用する

ベストアンサー1

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.targetdefault.targetこれがデフォルトのユーザー目標です)。

システムバスに切り替えることを選択した場合でも、User=このセクション[Service]でユーザーとしてサービスを実行できます。

バラよりman systemd.specialこれらの目標に関する情報。

おすすめ記事