gibbo...@gmail.com wrote: >> > DKD handle several mountpaths (char **), so does my code (comma separated) : > if one of specified path matches one the mountpath of the newly mounted device > (which I recall, can be mounted by automounter, user, root, udev, ...) > The the value of DeviceMounted is execvp() > ("mirage" is simple image viewer, I should have said that). > The action may have been : > ln -sf /mnt/pictures ~/.fuse/bind/Pictures > > OK! Before I continue, I try to explain how fuse-workspace works:
fuse-workspace mirrors the contents of $HOME/.fuse/bind. This is the first feature. Second, it's possible to let a symbolic link look like a directory, which is a nice feature. Two start: mkdir -p $HOME/.fuse/bind/Devices now when and usb stick is mounted by HAL (DeviceKit) at /media/USBstick, create a symlink like: ln -sf /media/USBstick $HOME/.fuse/bind/Devices/USBstick now mounting: fuse-workspace $HOME/Workspace -o allow_root,use_ino Now, at this moment it only mirrors: ls -al $HOME/Workspace gives Devices and ls -al $HOME/Workspace/Devices gives lrwxrwxrwx USBstick -> /media/USBstick Now, this is already possible, making symlinks, so what's new?? Here the second feature: after creating the directory in the "shadow" directory: mkdir -p $HOME/Workspace/Devices/USBstick the module fuse-workspace translates the symlink to a directory, so now a ls command gives: ls -al $HOME/Workspace/Devices gives drwxr-xr-x USBstick This is actually a trick, workspace is folling you and the system. > I remember having searched for a non-root bind -o, if it's possible with > fuse-workspace, > then the following theory should work : > - plug happens > - udev calls this script [1] > - DKD is warned that plug happens (but not about mount) > - DKD --monitor knows about mount, with my code it can trigger an event like : > [catch-all mount rule] > DeviceMounted=ln -sf %device_mount_paths > ~/.fuse/bind/<something_variable_to_define> > - the fuse-workspace daemon was already loaded, the bind is done > My only problem with this is that I don't want my "known" mp3 player being > given a generic > name (or even it's LABEL) but being given specific mount path and access. > So I need to find out how to make udev nicely ignore fstab configured device > but that's another > story. > > [1] http://en.gentoo-wiki.com/wiki/Autofs#Write_the_mount.2Funmount_scripts_2 > This is great! I know this link, I've created a simular contruction with autofs, launced by ConsoleKit and UDEV. But about the order you've described above, and about the ability to have more than one mountpoint stored in the mount_point property: - plug happens - DeviceKit (or autofs launched by udev at /mnt...) mounts the device at /media/USBstick DeviceKit sets the system mountpoint to /media/USBstick - somehow (I do not know how) a symbolic link in $HOME/.fuse/bind/... and a directory in $HOME/.fuse/shadow... should be made for every logged in user (which is also running a fuse-workspace instance) as shown above - latest the mountpoint property for every user should be set to $HOME/Workspace/Devices/USBstick As you may notice this only works if there is a difference between a system mountpoint (/media/USBstick) and the mountpoints (like /home/sbon/Workspace/Devices/USBstick and /home/marian/Workspace/Hardware/USBstick) should be exported to the environment of the different users, respect. sbon and marian. Somehowe these different mountpoint should be stored and the environment (KDE or Gnome) should select the right mountpoint, so /home/sbon/Workspace/Devices/USBstick should be taken by the (graphical) environment of sbon, and simular for marian, you'll get the idea. So per-user rules? Maybe, but sure per user mountpoints. Stef _______________________________________________ devkit-devel mailing list devkit-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/devkit-devel