From Electron Cloud
Jump to: navigation, search

There are too many solutions for auto-mounting media on Linux, so that I have no idea which is the "right" one to have on a typical Gentoo KDE system. Hal, udev, dbus, ivman, kioslaves, pcmcia-tools and who knows what else are all working in mysterious ways and I would challenge anyone to put together a collection of message trace diagrams that show every step in the process when every kind of device is inserted (mass storage, hid, bluetooth, wifi and so on, and then there are devices that are typically only used via libusb). Then there are the older methods that are now considered obsolete (devfs, supermount etc.)

Somehow or another when you're running a recent mishmash of KDE and its dependencies, a dialog pops open when you insert a USB thumb drive and asks you what you want to do with it. Sortof like on Windows, and mostly just as annoying as it is on Windows. I'd rather have it do something unobtrusive, like a little tooltip pops up when the drive is plugged in, letting you know where it's mounted, and you can click on the tooltip to open Konqueror to that directory; something like that. The various auto-mounting schemes on Linux over the years have been so flaky, short-lived and brittle that I've given up, and I don't really mind typing "mount /mnt/usb0" at the command prompt if nothing happens automatically (which it doesn't usually, because some piece of that complicated mishmash is usually broken).

But the real point I'm getting to is when you insert a WiSpy, wispy_gtk should be launched. Or when you plug in a QX3 microscope or a webcam, your favorite app to view the video is launched. When you plug in a USB label printer, glabels is launched. Or when you plug in something for which not everything is installed, some nice graphical package manager is launched and shows a list of the most relevant software, which you can then choose and install and run all in one fell swoop.

That's the kind of high-level, friendly functionality that goes way beyond what Windows has had so far. Such an idea fits well into the free software ecosystem, because all the software is free so why can't it be more available, too? whereas on Windows you'd either have to pay for it, or it would come with the device; and I have yet to see Windows ever succeed in finding any driver for any device by searching on the net, even though it always offers to do that whenever you plug in something new. Finally, launching the actual app I need to use a device would save me from having to remember what oddly-named app I need to use with some device that I only rarely use.

this idea might provide a way: udev could send an event to a "session" service which is not yet launched, which would be the relevant application. If the service can be run by the DBus session daemon rather than the system bus, it would be running in the current user's session. (Or maybe every user's session, on a multi-user system... hmmm.)