systemdが定義された「After =」の前にサービスを開始するのはなぜですか?

systemdが定義された「After =」の前にサービスを開始するのはなぜですか?

だから、本の虫を実行するRaspberry Pi OSライトがあり、ここにPulseAudioをインストールしました。 Piは私のテレビの月明かりのデバイスとして設定されました(EoL SteamLinkを提供してくれたSamsungに感謝します!)。やるべきことは、電源を入れて自動的にMoonlightを実行することだけです。現在はそうしています。これは非常にうまく機能します。

質問...

piはLite OSを実行し、MoonlightはX11インターフェイスを独自に実行する必要がないため、Moonlightはデフォルトでそのインターフェイスを見つけるので、Pulse Audioを手動でインストールする必要があります。

デフォルトでは、Pulse Audioはユーザーがログインしたときにのみ起動するように設定されています。そのため、MoonlightはPyのログインを必要とせず、自動的にシステムサービスとして起動されるため、オーディオはまだ準備されておらず、ストリームの開始時に音は出ません。

そこで、ここで説明されている指示に従って、ユーザーに関係なくシステムサービスから始めるためにpulseaudio systemdサービスも作成しました(https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/)

私のPulseオーディオサービスファイル...

[Unit]
Description=PulseAudio system server
After=bluetooth.service

[Service]
Type=simple
PrivateTmp=true
ExecStart=/usr/bin/pulseaudio --system --realtime --log-target=journal --disallow-module-loading --disallow-exit
Restart=on-failure

[Install]
WantedBy=default.target

このサービスを有効にしてシステムを再ロードして再起動すると、サービス起動のsystemdグラフを取得すると、私が定義したBluetoothサービスの前にサービスが開始されたことがわかります。

システム図

bluetooth.targetに変更してみましたが、何の効果もありませんでした。

私は理解できません...

ベストアンサー1

おすすめ記事