ThinClientLocalDevices

Revision 4 as of 2005-10-31 18:34:30

Clear message

Summary

Thin Client Local Devices how to provide safe access to local devices on the thin clients.

Existing solutions should be taken into account:

  • samba. PXES (http://pxes.sf.net) and Thinstation (http://thinstation.sf.net) export local devices with samba and they are mounted on the server. Only does file-level operations. Not optimal security-wise.

  • nbd/enbd. Allows raw data access, enbd even implements some ioctls for CD burners etc. Complicated setup, bunch of scripting. Not optimized for thin clients. Enbd has SSL encryption of transferred data and other features. Enbd is not in vanilla kernel.
  • usbip (http://usbip.sf.net). Very low level, only handles USB devices. Probably in beta state. Never tried.

  • LTSPFS: (http://wiki.ltsp.org/twiki/bin/view/Ltsp/LtspFS) New method. Small, lightweight, atomic, will include automounter.

Other links:

Rationale

LTSP cureently doesnt support local devices on the Thin Clients. If you plug in a usb stick, usb storage capable camera, CD rom or floppy on the Thin Client, you dont have access to the device at all. A implementation deeply integrated with the existing blockdevice handling infrastructure is needed. It should integrate on a level below the desktop and should be exposed to the users desktop session. The device must be accessible from the users desktop.

Use cases

Scott uses a LTSP Thin Client and wnats to copy files from a CD rom he burned at home, he puts in the CD into the drive of his Thin Client and expects it to show up on his desktop as it uses to do at home on his ubuntu desktop install.

Jane has taken a bunch of photos with her usb storage capable digital camera for usage in the art class she has. Janes school runs a edubuntu LTSP server in the classroom. She plugs in her camera and gets a popup that offers her to import the pictures in her photo album.

Willy brought his documents he wrote at home on a floppy to his office where ubuntu LTSP runs and where he works on a Thin Client. Willy wants to insert the floppy into the local floppy drive, mount it and copy the files on his desktop to edit them in openoffice.

Scope

  • Block devices that interact in the normal manner with dbus, udev, etc. We won't
    • handle special-function or character devices for Dapper.

Design

  • udev
    • Handles plug events.
    • Sends device notifications to the Ubuntu server via dbus + (some network backend
      • for dbus)
  • hal
    • Handles polling of drives, and notification of media events (i.e. cdrom media
      • ejected, floppy inserted)
  • dbus
    • Will be the general message passing system.
    • We'll need to write some kind of network communication plugin for dbus to handle
      • network notifications.
  • ltspfs
    • ltspfs will need to listen for dbus messages for listening for media insert and
      • remove messages.
  • pmount
    • pmount will need to respect the LTSP_CLIENT environment variable

Implementation

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion