3

そのため、シャットダウン/再起動時にスクリプトに短い ogg ファイルを再生させようとしていますが、実際に動作させるには何らかの問題があるようです。現在、init.d にスクリプトがあり、rc0.d と rc6.d にシンボリック リンクがあり、手動で実行するとすべて機能するようです。スクリプトとリンクはすべて「K99」で始まります。これは、システムがリストをアルファベット順に処理し、K99 が正しいタイミングで実行する必要があるためです。(K00、K50、および「S」のバリエーションなど、他のスクリプトをいくつか試しましたが、何も変更されていないようです。)

#!/bin/sh
## play shutdown sound

pulseaudio --start
echo -e "Shutdown sound script."
/usr/bin/play /home/username/Downloads/sound_file.ogg
sleep 3

スクリプトはかなり単純だと思います。ogg ファイルとスクリプトの両方のアクセス許可は 755 です。ファイルの長さは約 3 秒なので、それも問題ではないと思います。もともと、スクリプトがまったく動いていないようだったので、sleep コマンドを追加しました。シャットダウンするのに約 3 秒長くかかるように見えるので、スクリプトは実行されていると思いますが、スクリプトがオフになる前に、Ubuntu がおそらくオーディオ デーモン (存在する場合) を強制終了しているように感じますが、わからない。この一見単純なことを理解しようと数日を費やしました。何か案は?

これが些細なことになってしまったら申し訳ありません。私はUbuntuシステムの初心者です。(簡単な修正で大丈夫ですが!:))

更新 それは今あるべきように動作します! 特に起動時にサウンドが複数回再生される理由を調べた後、新興システムについてもう少し学びました。etc/init/ ディレクトリを調べて、起動時にそこにあるスクリプトを実行します。サウンドがまだまったく再生されていないときに、新興スクリプトをそこに置いて実験したことを思い出しました。どうやらそれを削除するのを忘れていたようで、すべての実行レベルで実行されていたため、シャットダウンと起動のインスタンスが二重に発生していました。今はなくなり、すべてが本来あるべき姿になっています。(今は直したのですが、ちょっと音に飽きたので、新しいものを探す必要があるかもしれません(笑))助けてくれてありがとう、みんな。

TL;DR:スクリプトを init.d に置き、シンボリックに etc/rc0.d (再起動時に必要な場合は etc/rc6.d) にリンクします。複数回再生される場合は、おそらく、あるべきではない場所に重複があります。

4

1 に答える 1

2

シャットダウン時にスクリプトを実行するには

  • スクリプトを /etc/rc0.d に配置します
  • 実行可能にする ( sudo chmod +x script.sh)
  • 注: このディレクトリ内のスクリプトはアルファベット順に実行されます

パルスオーディオ

PulseAudio はサウンド サーバーです。アプリケーションとハードウェアの間を通過するサウンド データに対して高度な操作を行うことができます。

スクリプトの冒頭で PulseAudio を開始します。

pulseaudio --start

注:オーディオ デーモンを起動して ogg ファイルを再生するのは時間の問題であるため、スクリプトでこのコマンドを試して使用する必要があります。

于 2015-01-31T05:27:18.473 に答える