デバイス上のイジェクトボタンを介してDVD(外部USB)をマウント解除するには?


1

私は私の外付けUSB DVDドライブに問題があります。すべてうまくいきます、マウントはうまくいきます、アンマウント、またはシェル経由での取り出しはうまくいきます。しかし、私はデバイスの取り出しボタンを押すとそれだけで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)

回答:


0

これが起こる原因となるudisksには長年の「バグ」があります。これは実際には「通常の」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"

上記のリンクにたくさんの良い情報がありますので、それもチェックしてください。

HTH!


ありがとう、正確に私が探していた情報です。現在、私はあなたのアプローチを試すことができませんが、後で結果を報告します。
SimonA

最高の運SimonA!結果がどうなったか教えてください。
Hygrinet

だから..いくつかの問題の後に私は/etc/udev/rules.d/70-unmount-cd.rulesを通してスクリプトを実行することができます。私の行は次のとおりです。 "KERNEL ==" sr0 "、SUBSYSTEMS ==" scsi "、ATTRS {モデル} ==" BD-MLT UJ240AS "、アクション=="変更 "、RUN + =" ..スクリプトへのパス...最初にsyslogで "Exec format error"というスクリプトを実行すると問題が発生します。スクリプトの最初の行に "#!/ bin / sh"と書いてこの問題を解決してください。
SimonA

スクリプトは異なるアクション(例えばマウント)で実行されますが、ボタンを押してもスクリプトは起動しません... "ACTION"を変更する必要があるかもしれません。
SimonA

私はまた "udevadm monitor --environment --udev"を使っていくつかのイベントを起動/表示しようとしますが、ボタンを押しても何も起こりません... :(。
SimonA
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.