等待托盤關閉或在 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"

它會檢查插入的介質是否為空白,而無需關閉托盤。

相關內容