我正在开发一个实用程序,可以在 Linux 上自动挂载插入的 USB 内存棒。我已绑定(bind)到 D-Bus 以接收有关何时插入设备的通知,效果很好。但是,我需要确定/dev 中的哪个设备映射到插入的 U 盘。我收到 D-Bus 通知,然后使用 pyUSB ( 0.4 ) 扫描 USB 系统。我过滤 USB_MASS_STORAGE_DEVICE 类,我可以看到已添加或删除的设备。我需要挂载这个设备,这样我就可以查询它的可用空间并将其报告给我们的应用程序,这样我们就可以确定是否存在足够的可用空间,以便我们可以写入数据。
我正在使用 python 来完成这项任务。我不确定我们的目标发行版是什么,只是它至少是 2.6
编辑:我的问题是:如何确定/dev 中的哪个设备映射到我从 pyUSB 获得的总线设备号。
最佳答案
您可能应该问问 HAL。你说你已经通过 D-Bus 从 HAL 收到通知......它维护 USB 设备列表,以及它们的 ID 和设备名称(block.device
属性)。
这是一个很好的例子,说明如何获取设备文件名以及新 USB 设备的通知:How can I listen for 'usb device inserted' events in Linux, in Python?
关于python - Linux USB 映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1924646/