Comment 2 for bug 626251

Revision history for this message
Shoalcreek5 (shoalcreek5) wrote :

First, make sure you are a member of the fuse group.

Next, this:

"if [ ! -d "$HOME/media" ]; then mkdir "$HOME/media"; cp "/usr/share/kde4/apps/kde-service-menu-fuseiso/media.directory" "$HOME/media/.directory"; fi; fuseiso -p "%F" "$HOME/media/`basename "%F"`"; kde-open "$HOME/media/`basename "%F"`""

from the "Exec=" line of /usr/share/kde4/services/ServiceMenus/fuseiso_mount.desktop should be moved into a shell script. For example, I put it in a script at /usr/local/bin/fuseisomount.sh

With my example, the "Exec=" line in fuseiso_mount.desktop would be changed to:

Exec=/usr/local/bin/fuseisomount.sh "%F"

The shell script will need to be changed so that it actually will execute. Here's the contents of mine:

/usr/local/bin/fuseisomount.sh:
#!/bin/bash

if [ ! -d "$HOME/media" ]
 then mkdir "$HOME/media"
 cp "/usr/share/kde4/apps/kde-service-menu-fuseiso/media.directory" "$HOME/media/.directory"
fi

MOUNTNAME="$HOME/media/`basename $1`"

fuseiso -p "$1" "$MOUNTNAME"

kde-open "$MOUNTNAME"
#eof

I'm not sure all of this is necessary in Ubuntu if you are a member of the fuse group, but it did help a lot in Debian Wheezy. Of course, when packaged in a .deb, the shell script should be put in /usr/bin instead of /usr/local/bin. It is awesome that Ubuntu developers are paying attention to things like this. With some modification, I made it work great on Debian. All of the other solutions I could find were much less than satisfactory.