Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.


The current ltspfs implementation bind mounts ltspfs mounted filesystems in /media/$USER and relies on gnomevfs to do the rest of the work like displaying an icon on the desktop and adding the device to the places list. On systems that dont use gnomevfs the user needs to navigate to this dir manually if they dont monitor /media in a differnt way. To improve this functionallity by attacking a lower layer, virtual hal blockdevices should be created and the ltspfs mounting and any further handling of the devices should be left to hal and gnome-mount (or the kde equivalent).


  • Eliminates some setuid binaries that need to be maintained.
  • This will integrate better with the general HAL/DBUS scheme already existing on the machine.

Use Cases

  • Sally plugs in a camera on her thin client, and imports her pictures into F-Spot. She doesn't realize she's not on a regular desktop.
  • Ramone plugs in his USB stick into the thin client in the University lab, and downloads his term paper onto the stick, so he can work on it at home with his Ubuntu desktop.


  • ltspfs


  • The signal to mount is sent from the client via an X property. See ltsp-ssh-xdmcp-localdev

  • Received by a process running on the server.
  • The process calls the LTSP HAL mounter, which iterates over hal-set-property, creating a virtual HAL device.
  • HAL mounter then takes care of the device.


  • We'll have to extend the HAL back end to be aware of ltspfs mount paths.
    • Extend HAL mounter addon to be ltspfs aware.
    • We need to add a property to HAL (IP + devicename).
    • We'll probably create a target dir if needed (needs to be checked).
    • Make sure to delete possible leftovers of the same device before creating it again.
    • We need a backend to compare IP and UID to check the credential/token.


LtspfsVirtualHalDevices (last edited 2008-08-06 16:15:57 by localhost)