how to use multiple remote displays

Martin Drautzburg Martin.Drautzburg at web.de
Sun Oct 1 03:13:06 PDT 2006


We are currently investigating a major rewrite of one of our products and we
especially have to solve to problem of allowing a large user base to access
our app so a web application is under consideration. Alternatively I tested
using a native app using a remote display via X11. I got this to work
within minutes using the cygwin XWin server and a wxPython app running
under Linux and performance was more than okay even over a throttled (64
kB/s) network.  So bad surprises so far.

The drawback of this approach is that my app uses apx 30 MB per session.
Since I have to start a new app for every user I would need 1500 GB to
allow 500 users. Even though this costs only about $5 per user it is still
a lot. 

I am using wxPython and I could see that most of the memory is allocated the
moment I import wx. I tried forking the application instead of starting it
anew for every new session, but this only saved some memory (required 26
MB). 

Then I tried to use threads instead of processes. The main problem I had to
face there was accessing different remote displays. IOW I could not find a
way to change the DISPLAY for different Threads individually. I could not
even find the SetDispaly method, which was mentioned in some usenet
postings. Also I am not sure if wxWidgets is thread safe enough to allow
this (I belive Tk is).

Questions:

(1) Is it possible to access multiple remote DISPLAYs from different threads
of the same process and if so: how ?

(2) Are you aware of thin clients other than a Web Browser or an X11
server ? Our customer would most likely accept installing another "Browser"
as long as they don't have to upgrade with every change to our software ?










More information about the wx-users mailing list