Slashdot Mirror


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."

21 of 404 comments (clear)

  1. Been there, done that by xcomputer_man · · Score: 4, Interesting

    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.

  2. thin clients revisited by cjsteele · · Score: 5, Interesting

    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" :x!
  3. Wow! Innovation! by Phat_Tony · · Score: 4, Funny

    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?
  4. Edumacation right here. by UnderScan · · Score: 4, Informative

    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.

  5. Yay, another overloaded acronym.... by Xentax · · Score: 4, Funny

    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.
  6. Re:Not Any Time Soon by Anonymous Coward · · Score: 5, Informative
    NX will be useless until a sufficient portion of programs support it.

    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...

  7. Re:Educate me. by hummassa · · Score: 5, Informative

    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
  8. Re:So... by Doctor+Crumb · · Score: 4, Insightful

    PCAnywhere for linux is called X11. It's been around for years and years, this is just KDE taking advantage of a protocol to speed that up.

  9. Re:Educate me. by ahfoo · · Score: 4, Informative

    I think the app has to be NX-aware for it to work, however...

    I don't think you're right on that point. I downloaded the Knoppix3.6 iso with Bittorrent almost a week ago and I've been using Fabian's NX server the whole time since then. It gives you everything you get in a regular Knoppix KDE desktop. You can burn DVDs using K3B from a machine in another room among other things I've been doing lately.
    I just wish there was some way to make it work at boot time so I could ditch my KVMs.
    I did see that small /. thread on hardware IP KVMs the other day though. Sounded great, but I don't have one to play with. But hey if KVM over IP works for hardware, why not software. Sounds crazy, but you never know.

  10. This Statement Is Not Supported By The Article by Master+of+Transhuman · · Score: 4, Informative

    "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."

    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 ./'ers to comprehend?

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  11. Another entry in the central vs. distributed power by CFD339 · · Score: 5, Interesting

    ...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
  12. Re:How's that different from how things work now?? by chill · · Score: 4, Interesting

    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.
  13. Re:How does it work? by be-fan · · Score: 5, Informative

    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...
  14. Belongs in SSH by Effugas · · Score: 5, Insightful

    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:

    ssh -X user@host ...and if both client and server support NX, things just fly.

    --Dan

  15. Re:How does it work? by Abcd1234 · · Score: 5, Informative

    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).

  16. Re:Kan we say marKeting? by Eloquence · · Score: 4, Insightful
    Early this year, c't magazine, probably the most respected German computer magazine, published a quite interesting comparison of office suites. They subjected all of them to a test with very large documents with 140 pages of text, 120 graphics and 240 footnotes. MS Word apparently became less and less reliable as more pictures were added - suddenly they could no longer be moved and aligned properly without destroying existing layout. The tester gave up on Word but managed to do it with most of the other suites (including OO). They also found OO to be on the same level as MSO in terms of functionality.

    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.

  17. NX is to VNC by Julian+Morrison · · Score: 4, Informative

    ...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.

  18. Re:It's a "thin client"; it replaces nothing. by bluekanoodle · · Score: 5, Informative
    Not quite. Don't forget the TCO. It's alot easier and quicker to maintain and update a a properly setup thin client soluton serving forty nodes then 40 commodity boxes.

    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.

  19. Re:Teacher (aka non-commercial Tutor) here. by misleb · · Score: 4, Insightful

    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
  20. NOT KDE by ajs · · Score: 5, Informative

    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.

  21. Re:Teacher (aka non-commercial Tutor) here. by eean · · Score: 4, Informative

    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.