【发布时间】:2012-11-08 11:35:09
【问题描述】:
我需要将使用不推荐使用的 HAL 工具(如 hal-get-property 或 hal-find-by-capability)的 bash 脚本移植到 udev。 HAL 声明 HAL 已合并到 udev,但我找不到有关如何将此脚本正确移植到 udev 的有用信息。
示例: 如果我想要所有存储硬件(使用 HAL)的列表,我可以运行
hal-find-by-capability --capability storage
这会给我一个像这样的 UDI(唯一设备标识符)列表:
/org/freedesktop/Hal/devices/storage_model_Virtual_disk
/org/freedesktop/Hal/devices/storage_serial_00000000000000000001
/org/freedesktop/Hal/devices/platform_floppy_0_storage
如果我现在想知道/org/freedesktop/Hal/devices/storage_model_Virtual_disk 是否可移除,我可以发出以下查询
hal-get-property --udi /org/freedesktop/Hal/devices/storage_model_Virtual_disk --key storage.removable
它会回答true 或false。
所以我的问题是:
如果没有 HAL,我该如何做这些事情?
sysfsutils (systool) 可以工作,但它似乎不是一个合适的替代品。
这对udevadm info 有效吗?
【问题讨论】:
-
是
udevadm info --query=property您要查找的内容,可能采用udevadm info --query=property --name=$2和其他一些参数的形式来选择设备。由于我没有 hal,我不知道--udi参数采用什么形式,请告诉我们。 -
我编辑了我原来的问题。这能回答你的问题吗?