Chromeを実行する前にパルスオーディオを待つ方法は?

Chromeを実行する前にパルスオーディオを待つ方法は?

Linux Linaro(Debian)OS 9.3をベースに組み込みボード(Tinkerboard)を開発しています。

ボードは、デフォルトで起動時に自動化されたスクリプトを含むshスクリプトによってブラウザが実行される(Web)キオスクです。キオスクは、jsイベントによってトリガーされた複数のmp3ファイルを再生する必要があります。

ほとんどの場合、オーディオは再生されません。ブラウザを手動で実行すると、オーディオは常に正常です。

これまで、私はchromiumプロセスがpulseaudioプロセス(PID値に基づいています)の前に実行されていることがわかりました。

スクリプトを次のように修正しました。

 # Script.sh
 pulseaudio
 sleep 4s
 chromium -kiosk ....

こうすればオーディオは大丈夫なのに気に入らないですね.. まず問題の原因をよく分からないですね。

これらのプロセスを正しい順序で配置する方法はありますか?

オーディオの問題の他の理由はありますか?

答え1

そうだ正確に合理的な初期化システムが解決する問題は次のとおりです。

サービスとプログラムを正しい順序で開始し、必要な項目が最後の開始よりも早くなく、4秒後に固定されていない場合は、「確認する」ことを開始します。

Debian 9では、systemdサービスを使用してwaylandまたはXorgを実行しているユーザーセッションを開始し、そこからChromeを起動して表示できます。

プロセスを1つずつ手動で起動する代わりに、次のものが必要です。実際に起動したことを確認してください。

pulseaudio.serviceに依存するchromium-kiosk.serviceユーザーサービスを定義するだけで、このサービスを開始するとpulseaudioサービスが開始されるのを待ちます。これを行う方法は、いくつかの場所で説明されています。ここ

これにより、Chromiumがクラッシュした場合に自動的に再起動し、起動失敗を記録し、Chromiumプロセス自体を他のサービスの要件にする機能が含まれます。とりわけ、実際に「完全に起動するにはChromeを起動する必要があります」と言うと、システムは起動に必要なすべてを保証します。

関連情報