ThinClientLocalDevices
|
Size: 4872
Comment:
|
Size: 4951
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 42: | Line 42: |
| A description of the existing implementation can be found on http://wiki.ltsp.org/twiki/bin/view/Ltsp/LtspFSAutomount and http://wiki.ltsp.org/twiki/bin/view/Ltsp/LtspFS | A description of the existing implementation can be found on the following pages in the ltsp.org wiki: [[BR]] [http://wiki.ltsp.org/twiki/bin/view/Ltsp/LtspFSAutomount LtspFSAutomount] [[BR]] [http://wiki.ltsp.org/twiki/bin/view/Ltsp/LtspFS LtspFS] |
| Line 46: | Line 46: |
| 1) an additional rules file for udev, to be inserted at 88-ltspfs in /etc/udev/rules.d/, to pick up inserted block devices and write the fstab entries 2) an additional script(s) to actually handle the updating of the /tmp/fstab entries 3) the ltspfsd daemon as is, plus mounter and unmounter scripts 4) the lbuscd daemon. 5) the lbus_event_handler.sh script needs to create /media/$USER/ and do the automounting in that dir instead of the users homedir. |
* an additional rules file for udev, to be inserted at 88-ltspfs in /etc/udev/rules.d/, to pick up inserted block devices and write the fstab entries * an additional script(s) to actually handle the updating of the /tmp/fstab entries * the ltspfsd daemon as is, plus mounter and unmounter scripts * the lbuscd daemon. * the lbus_event_handler.sh script needs to create /media/$USER/ and do the automounting in that dir instead of the users homedir. |
| Line 54: | Line 54: |
| 1) we can't use the $DISPLAY variable to find out the host name: | * we can't use the $DISPLAY variable to find out the host name: |
| Line 56: | Line 56: |
| 2) lbus isnt packaged yet, a package that creates the lbussd and lbuscd binary packages needs to be created, ltsp-client needs to depend on the lbuscd package, the lbussd package needs to be pulled in by the ltsp-server package. 3) ltspfs-mounter and unmounter scripts need to be included in ltspfsd package. 4) Handling of LOCAL_STORAGE=True/False needs to be added to the ltsp-client-setup initscript in the ltsp-client package. (indeed that also needs to be documented as a lts.conf parameter) 5) need to patch the ltspfs-mount and ltspfs-umount scripts to only look in /tmp/fstab. |
* lbus isnt packaged yet, a package that creates the lbussd and lbuscd binary packages needs to be created, ltsp-client needs to depend on the lbuscd package, the lbussd package needs to be pulled in by the ltsp-server package. * ltspfs-mounter and unmounter scripts need to be included in ltspfsd package. * Handling of LOCAL_STORAGE=True/False needs to be added to the ltsp-client-setup initscript in the ltsp-client package. (indeed that also needs to be documented as a lts.conf parameter) * need to patch the ltspfs-mount and ltspfs-umount scripts to only look in /tmp/fstab. |
Launchpad Entry: https://launchpad.net/distros/ubuntu/+spec/thinclient-local-devices
Created: Date(2005-10-07T12:40:00Z) by JaneWeideman
Contributors: OliverGrawert, VáclavŠmilauer, ScottBalneaves
Packages affected:
- ltspfs/ltspfsd
- ltsp-server
- ltsp-client
Summary
Thin Client Local Devices how to provide userfriendly access to local devices on the thin clients.
Rationale
Ubuntu's LTSP currently doesnt support local block 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 to handle this was developed in LTSP-4.2, this spec is about including that functionality into Ubuntu LTSP.
Use cases
Scott uses a LTSP Thin Client and wants to copy files from a CD rom he burned at home, he puts in the CD into the drive of his Thin Client and it shows 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 into 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 udev to be automounted.
- We won't handle special-function or character devices for Dapper.
Design
The currently existing udev/kernel structure already solves the raw automounting of the device on the thin client, ltsp.org designed a program called lbus that forwards a notification about new appearing devices on the client to the users session on the server.
The actual datatransfer is done by a fuse based implementation, a daemon called ltspfsd runs on the client, a client program called ltspfs executed in the session of the user on the server does the mounting over the network.
In case a notification from lbus running on the client is recieved by the lbus process listening in the users session on the server, ltspfs mounts the device into a subdir of /media/$USER which is owned by the user in 0700 mode.
Implementation
A description of the existing implementation can be found on the following pages in the ltsp.org wiki: BR [http://wiki.ltsp.org/twiki/bin/view/Ltsp/LtspFSAutomount LtspFSAutomount] BR [http://wiki.ltsp.org/twiki/bin/view/Ltsp/LtspFS LtspFS]
To integrate localdevs into ubuntu ltsp, we'll need the following changes to the existing ltspfs:
- an additional rules file for udev, to be inserted at 88-ltspfs in /etc/udev/rules.d/, to pick up inserted block devices and write the fstab entries
- an additional script(s) to actually handle the updating of the /tmp/fstab entries
- the ltspfsd daemon as is, plus mounter and unmounter scripts
- the lbuscd daemon.
- the lbus_event_handler.sh script needs to create /media/$USER/ and do the automounting in that dir instead of the users homedir.
issues:
- we can't use the $DISPLAY variable to find out the host name:
- no problem, just us the SSH_CONNECTION env variable to get it.
- lbus isnt packaged yet, a package that creates the lbussd and lbuscd binary packages needs to be created, ltsp-client needs to depend on the lbuscd package, the lbussd package needs to be pulled in by the ltsp-server package.
- ltspfs-mounter and unmounter scripts need to be included in ltspfsd package.
- Handling of LOCAL_STORAGE=True/False needs to be added to the ltsp-client-setup initscript in the ltsp-client package. (indeed that also needs to be documented as a lts.conf parameter)
- need to patch the ltspfs-mount and ltspfs-umount scripts to only look in /tmp/fstab.
Code
Outstanding issues
Critical: https://launchpad.net/distros/ubuntu/+source/gnome-vfs/+bug/50554 needs to be fixed
Currenly, we've had a comment or two on the LTSP mailing list that codepages aren't supported under LTSPFS. We'll need to implement that in keeping with Ubuntu's i18n nature by adding glib's g_string functions for the string handling in ltspfs. -- ScottBalneaves
BoF agenda and discussion
Stability status of ltspfs not currently known. Update 06/17/2006: ltspfs is in current version of LTSP (4.2), and deployed. Reports coming back are positive, and the code's proven quite stable. Apart from i18n, things are looking good. -- ScottBalneaves
- ltspfs designed for this scenario: copes better with unexpected media removal, etc.
ThinClientLocalDevices (last edited 2008-08-06 16:22:55 by localhost)