[gobolinux-devel] More stuff about HAL, Ivman, pmount
Jonatan Liljedahl
lijon at kymatica.com
Fri Oct 21 18:06:58 GMT 2005
I now think I have a nice setup... Here follows the story:
need to add system group plugdev and user ivman,
and haldaemon (both group and user)
I have patched ivman to surround mountpoints with quotes (see
src/manager.c:619), so that it can mount my "ACER MP3" even though there
are spaces in the mountpoint filename...
One problem with ivman is that if you run it once for each user, there
will be big problems if more than one user is logged in and running
ivman. Then when a device is added, more than one user wants to mount it
and only one of them will succeed and then the other user can't access
the device. If ivman is run in system mode (as root) then this problem
goes away, but then the ordinary users can't unmount the stuff! pmount
does set permissions so that all users in "plugdev" group can access the
device, but only root can unmount it.
Solution: http://kymatica.com/stuff/pmount-0.9.3-lijon.patch
This patch checks if the current user is in the same group as specified
by the "gid=" mount option and if so allows unmounting of device!
Maybe we should add this patch to the recipe?
So, what you do now is let ivman run as root. All devices will be
automounted in /Mount/Media, and all users that is in "plugdev" group
will be able to unmount them. Make sure that
~/.ivman/IvmConfigActions.xml says NOT to mount the device. If you want
to run ivman per user ALSO to pop up filemanager windows or add the
mountpoints to your desktop or stuff like that, edit
~/.ivman/IvmConfigProperties.xml to match against hal.volume.mounted,
example:
<ivm:Match name="ivm.mountable" value="true">
<ivm:Property name="hal.volume.is_mounted">
<ivm:Action value="true" exec='rox -s "$hal.volume.mount_point$"'
/>
</ivm:Property>
</ivm:Match>
A nice way to run Ivman as a user is to add this script to your
AutoStart folder, which makes sure that ivman is only ran once per user:
#!/bin/sh
exec 1>&2
echo -n "Launching volume manager... "
if ps -C ivman -o user | grep -q $USER
then
echo "Already running."
exit
else
echo "OK"
exec ivman
fi
############ EOF #############
/Jonatan -=( http://kymatica.com )=-
More information about the gobolinux-devel
mailing list