[FreeNX-kNX] Re: Wishlist for FreeNX / NX

Gian Filippo Pinzari pinzari at nomachine.com
Tue Feb 1 17:10:07 UTC 2005


Senthil Nachimuthu wrote:
> 1. Ability to change network bandwidth in the middle of a session. 
> I may be sitting in the conference room and use wireless. When I go
> to my cubicle, I want to plug-in to the LAN and get a better
> bandwidth.

This is perfectly possible. Code exists to change the nxcomp's
link settings on the fly. The problem is that we miss the control
protocol to be used by nxclient and nxserver to talk to nxcomp
while session is running. This is going to be fixed by creating
a NX_CONTROL X protocol extension containing commands that make
sense for NX. Such an extension would be understood by proxies
and masqueraded to the real X server (until the X server becomes
NX-aware :-), similarly to what happens with the additional X
requests added in nxcompext.

A NX control portocol is a must-have for a lot of reasons. For
example, it would be advisable to let the NX server query for
the nxcomp/nxagent statistics, for the purpose of tuning the
bandwidth, accounting for the CPU usage or selecting different
nodes based on resources used by the running sessions. There
are ways to obtain that data already, but they are workarounds.

> 2. Portability of X sessions 
> I want to work on an X session while I am sitting in front of my *nix
> machine, and I want to be able to connect to the same session using
> NX. 

You want to share the :0 display, right? There are three ways
to do that:

1. You run the :0 session as a NX session. Probably NX is not
    ready yet to replace your local X server at 100%. Looking
    forward, it should not be a problem in two years from now.

2. You use something sucking the framebuffer from the :0 dis-
    play and then transmit the bitmap data over the wire. This
    is the way desktop sharing works with VNC and the way it is
    supposed to work with the X.org's XDAMAGE extension. It can
    be easily done in NX, though this is not under development
    at the present moment. Note that this is inefficient by de-
    finition. What is traveling on the network is the (optional-
    ly compressed) bitmap representing the display updates, not
    the high-level X protocol as in NX.

3. You have a NX X extension, loaded dinamically by the X
    server. Actually the X server should proxy the X protocol
    the way nxagent does. This is easier to do than it appears,
    but will require wider acceptance of NX by the Linux world.

> I also want to be able to and suspend and resume from same or
> different NX installed computer / network or go back to the actual
> Linux machine and continue the same session. This way, I can work
> locally or remotely and I can keep my applications open all the time.

If you run a NX session on your "local" X server (on the NX server),
you can consider the console of the NX server as a terminal. If
you move to a different machine, you can connect to the session
and continue as the interruption never happened.

> 3. Network fault tolerance
> If the network connection gets disconnected (e.g. Wireless router
> dies, dialup connection disconnects, Windows crashes on the client
> machine, etc), I want the session to persist on the server, so that I
> can resume it. That is, even if I dont suspend the session, if there
> is a disconnection, I want to be able to connect to the same session
> and continue my work.

This is implemented. There are limitations to consider when
moving a session to a different display. Basically, if you are
using the RENDER extension, the extension must be present on the
new display. An additional constrain is that both displays must
allow for the same bit-depth. If you are using 32bpp (something
very common these days) you should be safe.

It's obviously our concern to remove these limitations complete-
ly. As part of the 1.5.0 release, we want to remove the problems
preventing Linux sessions to be reconnected on Windows, something
that everybody agree is very annoying.

> 4. Resizeable X display
> Using RANDR extensions to make the NX desktop resizeable. Because,
> when I work on a PC with a high-res monitor, I would use 1600 by
> 1200, but my laptop can only run 1024 by 768.

Unfortunately RANDR is not supported yet and will not be supported
in 1.5.0. We ran out of programmers due to the long list of 1.5.0
features :-). It would be wonderful if somebody started hacking
nxagent to do that.

Regards,

/Gian Filippo.




More information about the FreeNX-kNX mailing list