我正在研究一个将在Linux上自动挂载一个USB棒的实用程序。 我已经绑定到D-Bus来接收设备何时插入的通知,而且工作得很好。 但是,我需要确定/ dev中的哪个设备映射到插入的USB记忆棒。 我得到了D-Bus通知,然后用pyUSB(0.4)扫描USB系统。 我筛选了USB_MASS_STORAGE_DEVICE类,我可以看到添加或删除的设备。 我需要挂载这个设备,这样我可以查询它的可用空间,并向我们的应用报告,所以我们可以确定是否有足够的可用空间,所以我们可以写我们的数据。
我正在使用python来完成这个任务。 我不确定我们的目标发行版是什么,只有至less2.6
编辑:我的问题是:如何确定/ dev中的哪个设备映射到我从pyUSB获取的buss-device编号。
你应该问一下哈尔。 你说你已经通过D-Bus从HAL获得通知…它维护USB设备的列表,以及它们的ID和设备名称( block.device
属性)。
这里有一个很好的例子,就是如何将设备文件名和新USB设备的通知一起使用: 我怎样才能在Linux中用Python来监听'usb device inserted'事件?
为什么不使用“os”模块来安装文件系统:
os.system ("mount ... ")
或者如果你想检查输出使用“popen”:
l = op.popen ("mount ....").readlines()
如何使用dmesg
输出来找出设备名称(sdc1等)
在dbus告诉你有什么东西被插入到USB后使用它。 你可以做tail dmesg
例如