如何通过设备上的弹出按钮卸载 DVD(外部 USB)?

如何通过设备上的弹出按钮卸载 DVD(外部 USB)?

我的外置 USB DVD 驱动器有问题。一切正常,挂载、卸载或通过 shell 弹出都正常。但如果我按下设备上的弹出按钮,它只会弹出 DVD,而不会卸载它。我解决这个问题的最佳方法是使用键盘上的快捷键执行脚本。但这并不能令人满意。有没有办法用 DVD 驱动器上的普通弹出按钮解决这个问题?

谢谢你的帮助。

编辑:输出‘udevadm info --version’

175

输出'cat /lib/udev/rules.d/60-cdrom_id.rules | grep DISK_EJECT_REQUEST'

ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $tempnode", GOTO="cdrom_end"

输出‘uname -a’

Linux raspberrypi 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l GNU/Linux

通过插入(全部 4 个条目)和删除(无条目)输出“udevadm monitor”

monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[682164.008310] change   /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/host0/target0:0:0/0:0:0:0/block/sr0 (block)
UDEV  [682164.057144] change   /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/host0/target0:0:0/0:0:0:0/block/sr0 (block)
KERNEL[682174.005812] change   /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/host0/target0:0:0/0:0:0:0/block/sr0 (block)
UDEV  [682174.655906] change   /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/host0/target0:0:0/0:0:0:0/block/sr0 (block)

答案1

udisk 中有一个长期存在的“错误”会导致这种情况发生。这实际上是 udisk 的“正常”行为 - 光驱是一种边缘情况,尽管介质被移除,但驱动器仍然存在。这个问题在 ubuntu 错误跟踪器中已有报告,并建议使用 udev 进行解决方法:

https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1168742

您已经有一个可以卸载驱动器的脚本 - 要在光盘弹出时运行该脚本,请将以下内容添加到 udev 规则中,例如 /etc/udev/rules.d/70-unmount-cd.rules

KERNEL=="sr0", ACTION=="change", RUN+="/path/to/your/unmount/script.sh"

上面的链接里有很多有用的信息,所以也请查看一下。

呼呼!

相关内容