オペレーティングシステム: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.target
(default.target
これがデフォルトのユーザー目標です)。
システムバスに切り替えることを選択した場合でも、User=
このセクション[Service]
でユーザーとしてサービスを実行できます。
バラよりman systemd.special
これらの目標に関する情報。