I'm trying to replicate my setup (Jwm, PcManfm, udisks2, gvfs, polkit-1) on a distro without systemd. I want to be able to mount on demand all internal and external devices as a user from PcManfm side panel. Presently, I can only mount a volume from the terminal using udisksctl.
Okay, just in case someone else is interested, I found the answer.
The problem is not with udisks2 or pcmanfm themseles but with the way one launches the X session.
Apparently, udisks2 and pcmanfm use dbus to communicate between themselves.
In minimalistic systems, such as my own, where there is just a simple wm (jwm) and the x session is lanuched with startx, dbus is not activated and, therefore, udisks2 and pcmanfm do not work together.
The solution (tested on devuan sysvinit and alpine linux with openrc, both with jwm) is:
- install pcmanfm, udisks2, gvfs, policykit-1
- edit or create the file etc/polkit-1/localauthority/50-local.d/55-storage.pkla with a content like:
[Storage Permissions] Identity=* Action=org.freedesktop.udisks2.* ResultAny=yes ResultActive=yes ResultInactive=yes
(you can also change * for unix-group:plugdev and add your user to that group) 3) edit your user ,xinitrc file to look like
exec dbus-launch jwm
changing jwm for your wm if necessary. reboot, and now pcmanfm will show all volumes on the places menu and mount anything on demand.