bash スクリプトでトレイが閉じられるか空の CD が挿入されるのを待つ

bash スクリプトでトレイが閉じられるか空の CD が挿入されるのを待つ

Linux bash スクリプトでは、次のいずれかのイベントを待機します。

  • DVDドライブトレイがユーザーによって閉じられました。

または

  • 書き込み可能な DVD がドライブに挿入されました。

残念ながら、ドライブ内のメディアをチェックするすべてのコマンドは最初にトレイを閉じ、それはしたくない- それはすべきです開けておいてユーザーが DVD を挿入するのを待ちます。

どうすればいいかアドバイスをいただけませんか?

答え1

これはプラットフォームに大きく依存します。必要なのは、(a) /var/log/messagesascpiイベントを解析するか、(b) プラットフォームに応じて、DBUSの変更を監視するトレイを開いたり閉じたりすると、検出可能なイベントが生成されますが、これは手間がかかる上に価値がないかもしれません。いずれにしても、DBUS メソッドは、Fedora や Ubuntu などの人気のディストリビューションではそのまま使用できます。

頑張ってください。この結果がどうなるか、とても興味があります!

編集: 見つけたPythonからこれを実行する良いブログ記事、ただし、DBUS はアプリケーションに依存しないように設計されているため、ページからいくつかの値を使用できます。

答え2

私は次の方法で問題を解決することができました:

udisks --show-info $1 |grep -c "blank: *1"

トレイを閉じずに、挿入されたメディアが空かどうかを確認します。

関連情報