views:

77

answers:

3

I need some guidance from all the Linux experts out there. I would like to do the following. Please tell me if this possible. If it's not, please tell me why.

I would like the user to interact with a touchscreen LCD connected to a Linux thin client PC. I want to use Linux Terminal Server to run a virtual linux application (with user interaction). In other words, I want to run a virtualized application on the thin client. For instance, running Openoffice Writer (open source equivelent of MS Word). In my particular case, I will have a virtualized app which needs to interact with a USB credit card reader attached to the thin client pc. I will also need to send information to an other ajax app running in Mozilla.

One of my concerns is sending the credit card information (obtained via usb on thin client). Will I have to create a local app, which runs on the thin client and send the card information to the server or can the USB interaction be "virtualized" as well. For instance, by running linux terminal server and a thin client, will my USB interactions be automatically sent to the virtual app running on the server?

Thank you in advance for your help.

+3  A: 

Perhaps the term you want is "X server"?

X is a remote interface protocol which is also used for the local GUI. But the important thing is that it works just fine for displaying on remote hosts and accepting input from them.

Any linux machine that has a GUI is capable as acting as the "thin client" in this scenario (and most distributions can be configured to actually run very little besides the X server, a window manager and a remote login tool), and essentially any machine (linux or otherwise) with network access can act as host for your application.

It is no immediately clear to me if you can get USB input over X or not. If your USB device can be configured to send input like it was a keyboard, I think that you are golden.


Terminology quirk with X:

  • The machine where the GUI is displayed and which handles in the keyboard and mouse is the "server".
  • The machine where the code runs is the "client".

Why? Because the server is making the monitor, keyboard, and mouse available to the client. Don't complain to me, this usage is of long standing.


Side note: is there anything that prevents you from developing a web app? That way you get cross-platform compatibility with any host OS that can run a sufficiently powerful web browser (which is to say all consumer PC OSs, modern game consoles, some smart phones, etc. etc.).

dmckee
Yes, this is probably a better solution to the basic problem of remote terminals.
Shannon Nelson
a web app would also solve the security problem (via ssl). however, i suppose ssh -X is just as secure.
contagious
A: 

The full commercial edition of VirtualBox can do all of that, it comes with a modified VNC client: http://www.virtualbox.org/wiki/VirtualBox

However, I'd second the question about a web app... this can be done. Of course, if you need full debit card facilities, including chip cards, that may get a bit more complicated.

Andrew McGregor
A: 

testing...............

linux fanatic