นี่เป็น repost ของคำตอบที่ฉันให้กับคำถามที่เหมือนกันของฉันเองบนไซต์ Unix & Linux ที่มีชื่อว่า: ฉันจะปิดใช้งานปุ่มของไดรฟ์ CD / DVD ได้อย่างไร .
ปัญหาเกิดจาก UDEV อย่างแน่นอนในขณะที่คุณเดา ปัญหาคือบรรทัดนี้ซึ่งอยู่ในไฟล์ UDEV ส่วนใหญ่ที่เกี่ยวข้องกับไดรฟ์ cdrom
ตัวอย่าง
ใน Fedora 19 มีไฟล์ดังต่อไปนี้, /usr/lib/udev/rules.d/60-cdrom_id.rules
. ในไฟล์นี้เป็นบรรทัดต่อไปนี้ซึ่งเป็นการทำงานร่วมกันของปุ่มเปิดถาดสำหรับอุปกรณ์ซีดี / ดีวีดี
ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
คุณสามารถหลีกเลี่ยงปัญหาและปิดการใช้งานความสามารถของ UDEV ในการเลือกปุ่มนำออกโดยทำสิ่งต่อไปนี้:
ทำสำเนาของไฟล์ 60-cdrom_id.rules
$ sudo cp /usr/lib/udev/rules.d/60-cdrom_id.rules /etc/udev/rules.d/.
แก้ไขเวอร์ชันที่คัดลอกของไฟล์นี้และใส่เครื่องหมายบรรทัดที่มีสตริง, DISK_EJECT_REQUEST
.
$ sudoedit /etc/udev/rules.d/60-cdrom_id.rules
บันทึกไฟล์และการเปลี่ยนแปลงควรสังเกตได้ทันที!
การแก้ปัญหาดังกล่าวข้างต้นแก้ไขปัญหาให้ทั้งสองและeject
cdctl
ดังนั้นตอนนี้คำสั่งต่อไปนี้ทำงานได้ตามที่คาดไว้:
ล็อคไดรฟ์
$ eject -i on /dev/sr0
eject: CD-Drive may NOT be ejected with device button
-or-
$ cdctl -o1
ปลดล็อคไดรฟ์
$ eject -i off /dev/sr0
eject: CD-Drive may be ejected with device button
-or-
$ cdctl -o0