NX - A Revolution In Network Computing?
Anonymous Coward writes "Judging from this interview, it looks like KDE developers have
found a new toy to add to their desktop's networking capabilities. They claim to be able to cram a fullscreen KDE session -- KMail for mailing, Konqueror for file management, Mozilla for web browsing and OpenOffice for word processing -- into a 40 KBit/sec modem connection without losing responsiveness for the user experience. At aKademy, the 9 day KDE Community World Summit, a group of core developers started to work on NX/FreeNX integration to help facilitate the "re-invention of the KDE desktop environment" for KDE4. Knoppix-3.6 is the first Linux distribution to ship an integrated FreeNX server (created by Fabian Franz) with the NoMachine NX Client."
My employer had previously deployed 2,000 modified NetBSD thin clients from IBM that ran off of 200+ Linux boxes that provided the OS, print and storage facilities, but let the thin client do the grinding on the apps... only difference here is that the thin client doesn't grind on the data, just renders screen shots. Fact of the mater is, both approaches are highly manageable ways to provide low-cost computing to the masses...
"This above all, to thine own self be true"
You are completely right in that, mate!
However, please take note of the fact that virtually all (meaning 100%) of all X11 programs already support it. I have used NX successfully with KDE (each single damn program of the lot), GNOME (most of their programs -- I have abandoned GNOME as my default desktop a year ago), ICEwm, OpenOffice.org, Acrobat Reader, Mozilla, Firefox, Abiword, and a bunch of others. They all worked.
The reason is simple: NX uses the X11 protocoll (which each X11 program uses) and translates it into its own NX calls to bridge the remote link distance. After the bridging, it re-translates it into X11 and, voila!, the local X-server displays the X app's GUI without a hitch...
It's a remote graphics protocol based on X11, but with considerably less round-trips, due to aggressive caching on both sides.
Trying to be more plain:
imagine the work when you click on a button (exaggerated):
server: move your mouse position to x1, y1
client: move your mouse cursor to x1, y1
.
.
.
server: move your mouse position to x2, y2
client: move your mouse cursor to x2, y2; highlight button(button 1)
.
.
.
server: move your mouse position to x3, y3;
client: move your mouse cursor to x3, y3;
server: mouse down
client: display pressed button
server: mouse up
client: display pressed button (client will now do the ON_CLICK event)
under NX:
server: button(button 1) was clicked
client: does the ON_CLICK event
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
...fight that's brewing. This may be the linux entry.
IBM is pushing toward a new (centrally managed and provisioned) eclipse based rich client (aka browser on roids) to talk mostly to its workplace portal (aka websphere with portlets)
Microsoft is pushing the other way with a more complex workstation model and an enhanced "user controlled" sharing place via sharepoint portal,
Linux desktops have, generally, been trying to mimick Microsoft stuff but with secure, stable applications....(e.g. open office)
Now, a KDE may become a player in the rich but centrally managed client space.
Interesting.
Clearly there is a place for centrally managed rich client -- think live of business stuff that at one time was managed through the 3270 terminal. The browser has proven it sucks for that kind of thing, but this trend toward a semi-open or open rich client replacement is going to be the thing to watch.
Line workers are going to use this stuff (IBM's or something like it -- this KDE version could be it too). The big battle will be for how corporations manage knowledge worker desktops. Will it be a Centrally controlled rich client, or a traditional powerful workstation with sharing tacked on.
It seems like Linux based machines are likely to have a horse in both races.
The problem with quotes on the internet, is that nobody bothers to check their veracity. -- Abraham Lincoln
NX is a compression and caching layer on top of the X11 protocol. It takes the basic X protocol and performs compression of protocol requests, caching of server responses, compression of images, etc.
A deep unwavering belief is a sure sign you're missing something...
NX really needs to be ported to into OpenSSH as an optional compression module for its X Forwarding component. That way, there's literally nothing more than:
...and if both client and server support NX, things just fly.
ssh -X user@host
--Dan
It works at the X protocol, rather than frame buffer level, which allows it to perform optimizations that VNC cannot. It also doesn't require a special graphical client... NX acts as an X protocol proxy, so your remote app displays locally like any other X application (as opposed to being contained in a separate desktop within a VNC session).
I switched my company over to citrix and we ended up saving alot.
1) I could use our legacy pc's in a locked down state as clients. This avoided having to buy new pc's just because our accounting app needed a faster processor.
2)with centralized administration, we were able to avoid having to hire another staffer to handle support calls.
3) When a piece of hardware dies, I can replaced it with a QUALITY thin client appliance for a less then it would cost for a QUALITY commodity box. Sure I could buy cheaper no name hardware, but I wouldn't stake my job on it.
4) Our customized software does not need to be rewritten for different platforms. Doesn't matter if the client is running Windows, OS X, Linux or an embedded OS. they work exactly the same on each platfom. Not kind of the same, not sort of the same, but exactly the same. This saves on training the monkeys, I mean end users.
We can also provide secure remote access to our data without worrying about whose using what license, and whether their offsite machine is compromised.
At our current growth rate, we save almost 40% with thin clients over commodity boxes. That's not some number pulled from a marketing whitepaper, that's an apple to apples comparison from our department budget when we looked at both scenarios.
Let's be clear. This is not KDE. This has nothing to do with KDE, any more than KDE having an AIM client ties AIM to KDE.
NX is not toolkit-specific, it's just a way of compressing the X protocol for displaying applications over low bandwith connections.
That said, the KDE folks are talking about "integrating NX" into their KDE application framework, which would presumably mean having desktop tools that make the use of NX more convinient, and perhaps wrapping some of KDE's out-of-band data into the NX protocol (such as inter-application communication).
This is all good, but people are missing the mark if they think this is a special way of moving KDE (that is, Qt) widgets across the wire. It's simply not.