Running Linux applications in their floating window with NX 3.5.0
There are two ways in NX to run a single application in its top-level window.
One way is to let nxproxy tunnel the raw X protocol traffic. NX can't do much in this case, other than compress the X traffic better than any known generic compressor. The application, in fact, is connected to the real display and so it will still suffer from all the limitation of the X system.
The other way is to let the application connect to nxagent. In this case nxagent impersonates the application's display and can rewrite the X traffic down to the real X server to hide the details of the network and be extremely bandwidth efficient. This requires nxagent to operate in rootless mode, a feature available since NX 1.5.0.
Technically speaking, when working in desktop mode nxagent reparents each remote window to be a child of the virtual root, so that the remote desktop appears as a virtual desktop on the screen. nxagent doesn't paint the remote desktop window pixel by pixel, as other terminal server protocols do (VNC, RDP, etc.), but it rather preserves the X11 nature of the nested windows. In other words each window you see inside the virtual desktop is still a X11 window and can be moved, resized and embedded as any other local X11 window can.
When working in rootless mode, nxagent allows the top-level windows to be children of the real root, so they appear indistinguishable from the local windows present on the same display. In rootless mode nxagent is still able to remove the round trips, enable the applications are migrated to a different X server, lets applications be suspended and resumed, images be streamed etc.
