[FreeNX-kNX] usb pen devices.

Chris Fanning christopher.fanning at gmail.com
Mon Feb 18 16:32:41 UTC 2008


Thanks for getting back.

> install ltspfsd on the thin client and copy lbuscd + udev scripts
> (/etc/udev/rules.d/15-ltsp-block.rules;
> /etc/udev/scripts/ltsp-device.sh) from the LTSP site. Install ltspfs on
> the server and copy lbussd and lbus_event_handler.sh from the LTSP site.
> Follow the scripts to see if all works like it should. Ask if you have
> any questions. Hope this helps :)

I'm stuggling through this.
I couldn't find lbuscd or /etc/udev/rules.d/15-ltsp-block.rules or
/etc/udev/scripts/ltsp-device.sh from the LTSP site.
I couldn't find lbussd or lbus_event_handler.sh on the LTSP site either.
So I've copied them from a ltsp4.2 installation I've got going here.

So now I think I'm getting closer, but, how is the client to know
where its lbussd server is?
If I remember right, that is set in lts.conf (SWAP_SERVER?).
But I am not booting ltsp because the nxclient is on fat client.

Thanks.
Chris.

On Feb 18, 2008 12:04 PM, Dimitar Paskov <pascoff at nola7.com> wrote:
>
> > Hi Dimitar and all,
> >
> > Some time ago you mentioned you had resolved usb local devices on nx
> > clients using LTSP technology.
> >
> >> Devices like floppy, cd/dvdrom and usb sticks are working very well with thin clients due to the good work of the people at the LTSP project.
> >
> > I was wondering how you did that. With ltspfs?
> >
> > I'm really thinking about usb pen devices.
> > What's the best way to mount these devices that are plugged in by the user?
> >
> > Thanks.
> > Chris.
>
> Hi
>
> (for short version go to the end)
> Yes, you are right, I have local devices working in thin client
> environment. I use ltspfs with the help of udev and some shell
> scripting. I have made this under Ubuntu 6.06 with some additional
> scripts from LTSP distribution. The main programs are:
>
> - ltspfsd - this is the daemon which is running on the thin client and
> is "watching" for local device status (there is a deb package for it)
> - lbuscd - a perl daemon which communicates with the server on which is
> the running nx session (this is from the LTSP distro)
> - some udev scripts
> --------------
> - lbussd - a perl daemon which runs on the server and communicates with
> lbuscd on the thin client (this is from the LTSP distro)
> - lbus_event_handler.sh - a script that gets executed on the server upon
> event (like usb pen device insert/remove on the thin client) (this is
> from the LTSP distro)
> - ltspfs - fuse based remote filesystem for ltsp thin cients (also has
> deb package)
>
> How all this work. When there is an event (like adding a usb device) the
> udev daemon (with the help of the kernel) executes a script like this:
> ################
> # USB Pens
> KERNEL=="sd[a-z][1-4]",
> RUN+="/etc/udev/scripts/ltsp-device.sh ${DEVNAME} ${ACTION}
> #############
> DEVNAME may be /dev/sda1 for example, ACTION is "add" or "remove"
>
> This script sends information about the device to lbuscd daemon which
> forwards it to lbussd daemon running on the server. Then lbussd executes
> lbus_event_handler.sh which mounts the device with ltspfs command which
> communicates with ltspfsd daemon on the thin client.
> lbus_event_handler.sh also does some neat stuff like placing an icon on
> the users desktop pointing to the directory the device is mounted in.
> After the user has removed the device, this script removes the icon from
> his desktop and unmounts the device. (actually it is unmounted before
> that by the ltspfsd daemon). The best thing about ltspfs is that it
> unmounts devices automatically after short timeout and you can mount
> with sync option and be sure that all information will be copied before
> the device is unmounted. No more locked cdroms and broken usb
> filesystems. Floppies are mounted all the time (for obvious reasons),
> cd/dvds are mounted only when there is a medium in the device and usb
> stuff only when inserted. Note that there are 2 mounts that are
> happening. The fake one with ltspfs (based on fuse filesystem) that
> "mounts" the thin client from the server and the real mount of the
> device that happens on the thin client through ltspfsd. All this acts
> like the old supermount fs (in kernel 2.6.9 - 2.6.13) - the device gets
> mounted only when it is accessed.
>
> May be I wrote too much :) anyway in short:
> install ltspfsd on the thin client and copy lbuscd + udev scripts
> (/etc/udev/rules.d/15-ltsp-block.rules;
> /etc/udev/scripts/ltsp-device.sh) from the LTSP site. Install ltspfs on
> the server and copy lbussd and lbus_event_handler.sh from the LTSP site.
> Follow the scripts to see if all works like it should. Ask if you have
> any questions. Hope this helps :)
>



More information about the FreeNX-kNX mailing list