等待托盘closures或在bash脚本中插入空白光盘

在我的Linux bash脚本中,我想等待下列其中一个事件:

  • DVD驱动器托盘被用户closures,

要么

  • 可写DVD被插入驱动器。

不幸的是,检查驱动器中的介质的所有命令首先closures托盘,而我不想这样做 – 它应该保持打开并等待用户插入DVD。

你可以请教我怎么做?

这是高度平台特定的。 你可能需要做的是(a)为ascpi事件parsing/var/log/messages ,或者(b)根据平台, 监视DBUS的变化 。 当您打开和closures托盘时,会生成可检测到的事件,但这可能比其价值更麻烦。 无论如何,DBUS方法将适用于stream行的发行版,如Fedora和Ubuntu开箱即用。

祝你好运; 我绝对有兴趣看到这是怎么回事!

编辑:find一个很好的博客post,这是从Python做到这一点,但由于DBUS被devise为应用程序不可知的,你可以使用一些从页面的值。

我设法解决这个问题:

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

它检查插入的介质是否为空,而不closures托盘。