kde 3.5.2: если стартует при незапущенном hal, показывает в /media устройства в виде:
и даже для смонтированных nfs:
это fstab бэкэнд. если служба «управление подключаемыми устройствами» стартует при запущенном hal, то используется hal бэкэнд:
причем, имя устройства все еще можно увидеть в поле «ссылка». ссылки ведут в виртуальные url (media kioslave) вида system:/media/devname: в system:/media/hda2 открывается /, а usb disk (system:/media/sdb1) смонтирован вовсе не в /media/sdb1, и даже не в /media/disk. то ли media:/ сам лезет к устройству, то ли открывает в соответствии с /proc/mounts. больше похоже на второе, т.к. при открытии устройство автоматически монтируется, если было отмонтировано.
При втыкании кде монтирует разделы флэшек в /media/disk???. (говорят, с помощью pmount – сомневаюсь, т.к. при control pmount restricted все равно монтирует, из чего я делаю вывод, что pmount тут почти совсем ни при чем). при этом
«безопасно извлечь» соответственно нормально отмонтирует флэшку, получая
однако, если после этого смонтировать ее вручную:
то КДЕ ee открывает (даже при нестандартном mount_point), но не может отмонтировать с руганью:
что похоже связано с:
но кто и зачем добавляет эти info.hal_mount.mounted_by_uid – неясно. если KDE монтирование делает через hal method – это многое объясняет. или hal добавляет сам после вызова callout, что логично. Либо добавляет сам KDE – это было бы бессмысленно, имхо.
Из вышесказанного следует, что при использовании ivman 0.6.12 / pmount 0.9.9 про размонтирование из КДЕ можно забыть.
предположим, мы научим ivman (скорее, pmount-hal) работать через вызов mount method. тогда надо выяснить, как заставить его использовать тот mount_point что я скажу вместо /media/disk. KDE вроде бы как-то это делает, ecли задать в свойствах /media/canyon – монтируется в /media/canyon-1 (возможно – добавляется номер раздела).
hal policy враги выкинули вместе с desired_mount_point :( поэтому выбор точки монтирования придется реализовывать в конфигах ivman.
Вызывать HAL method для монтирования можно, например, таким способом:
Параметры:
Отмонтировать смонтированное таким образом устройство можно командой:
Реализацию этих методов можно посмотреть в скриптах /usr/share/hal/scripts/hal-system-storage-mount, /usr/share/hal/scripts/hal-system-storage-unmount.