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."
Is this on top of a remote X display, or in place of one?
You are not the customer.
This should give them a boost in the thin client workstation office enviroment! It would be interesting to see this in action.
[n8.r0n] http://petesweb.spymac.net/
This is PCAnywhere for linux?
I run sessions over shit dial-up connections, like 16.8kbit or so, and the responsiveness is decent. If I get a full 56.6 connection, it's really good.
I know we cheerlead for OSS around here, but is this a brand new amazing wonderful thing, or just another VNC protocol? And does KDE need more stuff? The K is for "Kram it all in!"
I don't need no instructions to know how to rock!!!!
Evas-based apps (including the upcoming E17 window manager) perform extremely well over remote X connections, using traditional Xlib. I have tested this myself, over remote connections Evas-based apps are at least 10 times more responsive than GTK/QT apps, using the same traditional X11 connection. Evas is designed to minimize roundtrips to the server so everything gets drawn the first time. And there's a new canvas server in CVS called Evoak that allows remote canvas sharing among applications, complete with gzip compression etc....NX probably won't even be able to touch it performance wise.
Am I a hipster-doofus?
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"
Warning : Acronym Collision
:
The correct moderation to apply to the parent post is either "Offtopic" or "Funny", the latter being more my choice
Quick karma whoring
- AMD NX : No Execute, prevention of buffer overflow (stupid webpage here, search google for AMD NX)
- nomachine NX technology (website), which is, functionnality-wise, the sucessor of VNC
#include "coucou.h"
Soon, maybe they'll invent "dumb terminals" that run all their programs off a central, "mainframe" computer!
Can anyone tell me how to set my sig on Slashdot?
Introduction to NX technology
A brief introduction to NX motivation and technology
This document outlines the background and the design decisions that guided NX development. It explains why NX is different from similar technologies and states the goals the NX project is set to pursue.
Have you actually tried a connection using NX? I have and I can tell you that is damn responsive remote x even over a slow link. I run 400 remote x terminals on a lan and it is not much use for me but if I needed to support road warriors I would not hesitate to use it.
Got Code?
I know we're running out of possible acronyms that don't already stand for something, but releasing two new 'overloads' for an acronym almost at the same time sucks.
(If you're wondering, we have this NX client software, and the NX 'No-eXecute' flag on CPU's to help contain the threat posted by stack and heap overflow vulnerabilities)
We're running out of TLA space a lot faster than IPv4 space. Not as big a deal, I know, but just wait until companies start trying to brand/trademark acronyms or initialisms (for the purists out there) when there's already existing meanings for their choices...
Xentax
You shouldn't verb words.
You can do RDP over analog modem and things are pretty darn snappy. And you could do this since Windows NT4 Terminal Server edition. Remote desktop comes stock with NT OSs since Windows 2000.
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...
I use NX nearly daily. Its just like VNC, just a million times faster and its more clear, so stop whining. NX isn't useless, I've used every desktop program that you can name with it, nothing special needs to be done. I installed the deb with dpkg, added a user, went to work the next day and connected home. Literally nothing else had to be done, it is such an easy setup, I was very impressed. Oh and did I mention, its fast, really fast. I could hardly tell I wasn't sitting at home. Some other cool things you can do with it are printer fowarding and I think something with file transfers, although I haven't used either because I haven't needed to.
Regards,
Steve
"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."
./'ers to comprehend?
No, they do NOT. The interviewed persons state that a responsive NX session requires a 40kbps link, and about 25MB of RAM. This allows you to run a KDE session remotely and also allows non-KDE apps like Open Office to run remotely.
They do NOT say that you can cram ALL of those programs SIMULTANEOUSLY INTERACTING into that 40kbps.
Obviously they mean you can interact with all of those programs over that link - one program at a time, switching between programs, just like any other remote-control software.
They estimate that a modern PC with 1GB of RAM and a 3GHz CPU could support 25 simultaneous fullscreen KDE remote sessions, crapping out at 35 sessions.
As for usefulness of this technology, they list at least nine scenarios and benefits of using it.
One of which is that it eases Linux adoption on the desktop by allowing Linux clients to access Windows apps running on Windows servers and vice versa, thereby allowing companies to migrate from Windows to Linux at their own pace and not forcing them to find equivalent Linux programs for various Windows-only mission-critical programs. In other words, migration doesn't have to be all or nothing.
Is this too hard for
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
It's interesting, but until there are thin clients (no, not the roll-your-own-with-old-PCs variety) that support the protocol, it's a hard sell in a lot of environments. M$ Terminal Services is a pain, and isn't cheap, but we can deploy thin clients with ready RDP sessions in addition to VT220 and tn5250 emulation (including passthru printing). I could do all that with a PC running *nix, but the PC hardware isn't a book-sized device that churns away happily in a dusty warehouse.
It's not a knock by any means. I'd love to centralize the client apps and just serve sessions over 40kbps. But even that is a little expensive over a 128/256kbps frame relay connection. It's nice. It will be useful. But doesn't sound like something to adopt in a real, low-bandwidth, network computing environment at the moment. I'd love to hear that I'm wrong and missing the point, because I'd *love* to replace MS WTS as well as local PCs in our warehouses.
Amateurs discuss tactics. Professionals discuss logistics.
...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
It works.
And BTW, it works with anything X11 too.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
NX isn't so much thin client as it is remote desktop over slow connection. Think connecting from home or other slow connection to your work computer and give it jobs to do. While this application may lower bandwidth for existing thin clients. Its not the real drawl.
Network clients are the future. Things like NX, JDS, Citrix and the like are massivly deployed in the corporate world.
As an administrator, I love the centralized configuration. The ability of a person to move from their office to a conference room and pop right back into a session is fantastic. Add the ability to enter a session from home or a VPN tunnel and it is really useful
In the office, that means many people can use inexpensive PC's or thin clients and get everything but 3D. Maintenance is a breeze, since I don't have to install whole bundles of software per machine or tweak up Ghost images it saves me time.
For most of my users, it makes things easier. They can access their work and stuff from anywhere. The network is either switched 100-base or in some cases switched 1000-base, so there is NO LAG in loading/saving data or running programs. Hell, stuff loads/saves FASTER through Gig-E to our SAN than to a desktop IDE drive!
An NX Server behind the firewall that I can tunnel to gives me a gateway to every PC in the building via translated RDP (Windows) or VNC. AND it seamlessly encrypts the sessions (unlike VNC). All I need is one hole in the firewall for the NX server, instead of one per VNC box. (Yes, I could tunnel VNC over SSH or stunnel, but that is a pain in the ass and NX is so much easier.)
And if KDE 3.2.3 or 3.3 is slow on your stated config, then something is wrong. Spend an evening and compile your own version w/P4 optimizations and remove the excess items you don't use. It should scream.
Learning HOW to think is more important than learning WHAT to think.
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).
Now, many bad experiences people may have with OO are probably related to importing existing MS documents. Even though the filters are pretty good, they are obviously not perfect, and last I checked macros were ignored entirely. However, that is not a fair comparison -- Microsoft would utterly fail it, as they don't have the most basic OO import filter. And the complexity of this problem is similarly high as the one of emulating the Windows API on Linux - you don't just have to get the file format right, you also have to duplicate Microsoft's way of interpreting it, even if it's buggy and/or inconsistent.
Nevertheless, the developers are always working hard on improving import filters, as it is obviously essential to business migration. OpenOffice 2.0 will have improved filters, and it will also have much better database management with support for databases directly stored in files (as Access does).
OpenOffice is clearly more performance-hungry than MS Office, although in my experience that is mostly the start-up time. I don't anticipate major improvements in this area. If you're looking for a very slim MS Word replacement, KWord or AbiWord are probably projects worth keeping an eye on. TextMaker, a proprietary package, also exists for Linux. And if you're into DTP, Scribus is quite mature already.
The post was really a feeble attempt at humor, but since you bring it up...
What I've read about NX is that it is more like x11 than it is like a VPN. Linux does have several VPN implementations to choose from, but NX is really a lightweight windowing client / server protocol.
Microsoft might have tried something like this back in the Win 3.11 days, but all they did there was make some of the office products client / server capable. After the shift to NT based os's, and their move to a peer to peer network, I think that they pretty much closed the door on something like X11 or NX (that's not a criticism, going client server has as many issues as going peer to peer, just different ones).
Besides, as Microsoft has shown us innovation is for losers. Winners let the Apples and Suns of the world innovate. Then the winners merely implement the stuff when it becomes a common standard. That way you don't waste time and money on R&D.
...as X is to frame-buffer.
VNC runs an app remotely, displays it remotely, and sends bitmap movie of the display actoss the network. It can't scale, because the server has to do 100% of the work, and because sending bitmap diffs is bandwidth heavy.
NX runs an app remotely, displays it locally. Only the unavoidable parts of X protocol travel over the network. It can scale well, because the server only does the bit-crunching; the "thin client" draws the display.
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.
X was doing it years before Microsoft in a much more modular and flexible way. KDE/NX is improving on that, not imitating Microsoft. Terminal services require you to pull a full desktop from a remote server. X allows one to pull individual single applications that display as if it were running local. WAAAAYYYY better than Terminal Server IMNSO.
"THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
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.
I'm pretty sure the parent is BS or I just can't read what its saying. NX takes the X protocol and uses various caching and compression methods to make it more efficient. Unlike VNC which essentially takes a picture of you desktop and sends that, so its easy to see why NX works so much better. It is desktop environment anogistic more or less The client and whatnot I think are written using KDE widgets for the config menu, it uses artsd for sound. The folks developing the Free version are KDE people, thus its under the KDE category. But the server certainly doesn't know anything about KDE or Gnome or whatever, it just deals with X.
X when using xeyes, xconsole and twwm might be a quick bandwidth-efficient drawing canvas... but it isn't with any modern program, thus the need for something like NoMachine.
Why do you want to mix KDE and Xlib? Folks developing KDE don't even use Xlib, they leave that up to Trolltech. The only program I can think of thats still developed (sure there are others) and uses Xlib is the mplayer GUI, and I think everyone accepts its a POS, it mixes xlib and GTK last I heard. I just use mplayer from the console, sometimes with one of its KDE frontends.