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/
All participants of that BoF left the meeting with a very excited feeling inside. KDE is going to really take on the struggle for the corporate desktops now, with weapons like NX/FreeNX aboard...
Are they inferring that corporations are all going to finally move to the thin-client type computing that was hyped 10 years ago? I still really doubt that it's going to happen as people are so entrenched in their current mode of deploying applications. MS Office still beats KOffice and OpenOffice and unfortunately I really don't think this is going to change that.
I read through the "interview" (which was more like a press-release-hype-sheet) and I didn't see anything that impressed me as far as non-marketing ad-speak. I haven't seen the source code (and probably won't) but I am confused as to why it must be in Bash scripts and a bunch of libraries. Why can't it just be standard code. I was especially confused by the comment "it's in shell so that everyone can contribute and make our code better." That's odd, I didn't think the Bash code did all that much if you are using libraries of machine code, etc...
I guess I will wait till someone reviews the actual code in use. Maybe after that they will rename it something less Kish than AKademy, blah.
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!!!!
Wait isn't open source supposed to only copy already existing closed source technology?
How dare they be innovative.
Next thing you know linux will have a measurable and growing market share.
Then software like apache, eclipse, and jboss will be used in enterprise applications.
Oh, wait...
Never mind!
How can you transfer a browser's contents over a 40kB line when its own internet connection can be a lot higher?
Z
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?
I'd like to see any responsive image data over 40 Kbit line. Let's imagine some icon takes 64x64 pixels and is crunched to 4KB compressed. It still takes 0,5 seconds per an icon to load. Opening a start menu, waiting... please be patient.
Anyone who have surfed on a modem knows it's far from real-time responsiveness.
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...
This is using KDE's widgets; the article does not conclude with any reasonable technical confrontation of the X11 protocol. The feature is KDE can be used to minimize the Xlib transport layer by using only widgets. It is a verry impressive feat, the general purpose of X11, but this is using KDE libraries which are slowly demanding more system resource overhead just to run. The largest gripe I have with KDE is it is more difficult to jump between KDE widget context and Xlib context. I've been able to program using Xlib and Xtk for the past 4.5 years and all the bloat in KDE is justified, but I fear X protocol will slowly be over-ruled to accept legislated features previously extensions. X is meant to be a verry quick drawing canvas for low-bandwidth connections. Next thing you and I will know is they will be calling it XKDE or XGNOME.
I am the nightmare of nightmares.
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
How is NX different from the Low Bandwidth X (LBX) extension for the X windowing system that usually underlies KDE and Gnome?
"Provided by the management for your protection."
I was thinking the same thing.
Seems the answer to make KDE a nice responsive desktop is simple. Get two phone lines, and two modems. Phone yourself, open NX in a gnome session, connect to a KDE session. Hooray!
I don't need no instructions to know how to rock!!!!
An earlier poster replied that Microsoft has had this for years by using RDP. That configuration is not bad, but I would say that the Citrix ICA/IMA architecture has that beat, and more. (ICA/IMA is better at handling burst traffic, and compression is more efficient.)
My company deployed more than twenty-five thin clients in addition to many PC-based virtual sessions that allow the back-end servers to do the number crunching. Each thin client session uses no more than 7-8 Kbps to maintain screen updates, and responsiveness is limited only by the capabilities of the servers and the network bandwidth available.
No really if it could be used like a terminal sever with an openMosix cluster it could be very nice. You need more power you just add more CPUs to the cluster.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
"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!
Now that Shorthorn is starting to look like XP Rebloated, 5% of companies are contemplating a complete switch to Linux and 36% are considering some type of OSS introduction, this could push quite a few more over the edge.
Great idea.
That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
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.
Really it should be NE, but that's not as Xciting.
-Derek
Treat me like a marketing stat, and I'll treat your movie like a series of ones and zeros
...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
I should clarify. I have seen this:
...so I might be a total darsh. But I still haven't been able to find an answer on the nomachine.com site as to whether that means it works with RDP clients (I think likely not), or that it serves RDP sessions via the X protocol (yeah, that's my guess).
RDP and RFB Foreign Protocols
NX accessibility and remote computing capabilities are not limited to Linux desktops and servers. NX encapsulates and translates into X protocol the Remote Desktop Protocol used by Microsoft Windows NT/2000 Terminal Server Edition and Citrix Metaframe, and Remote Frame Buffer, the protocol used by VNC, another Open Source remote computing facility, available numerous different operating systems.
Although NX compression offers the best performances when running native X applications, RDP and RFB sessions can be compressed by a factor ranging from 2 to 10. NX support of foreign protocols provides further advantages. Firstly, it extends its reach to virtually any computer and secondly, NX offers to the user a unified view of any application resource available over the Internet.
Amateurs discuss tactics. Professionals discuss logistics.
bull...shit
Remote desktop is faster than TightVNC over a modem, but TightVNC just uses enhanced compression compared to VNC. LBX doesn't work over large latency high bandwidth links.
I've always suspected that if someone took the time to figure out how to do X-windows with better compression and client-server model, you could compress it down to a much better experience.
Back in the good ole text days, people wanted to do RIP grafix, and started using 64 or 128 bit numbers to pattern match and speed up graphics. Then there was a time people tried to use fractal compression to speed up photos over the web. (OR something even older, RLE graphics over 300 baud)
There are many methods that can be expanded and combined to make a low bandwidth, high response session. Maybe trading color for speed, a monochrome experience that is fast is better than a slow true color display.
Saying it can't be done is incorrect, there are many methods. Not sure if todays programmers even know of these methods, or have experience in low bandwidth situations.
It can be done, will it? With people getting more high speed connections, optimizing is a thing of the past. Same goes for video games, they come on DVD's and/or multiple CD's. The only place you see true optimization is the demo parties, 64K demos with extreme amounts of content. 64K would stream over a 28.8 modem in a flash.
My idea was use a server-client model, using content updates with a highly compressed pixel line in 1 byte patterns, widgets are cached, and text streams are compressed.
Not exactly sure how NX is speeding up RDP, other then widget caching, the articles appear to be slashdotted already.
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).
here
They use X at the base and add further compression and network optimization. In fact they make it work on top of VNC and RDP
Not too shabby
... or am I the only dinosaur who remembers these?
GraphOn made this really sweet line of X terminals that allowed you to split the X server between the remote workstation server and the the display/mouse/keyboard. I was lucky enough to have one of these at home, and it was very zippy ... at 9600 baud I could run an X display that was darned nice to have a full X display at home while my VaxstationII sat at work. Later versions used better compression and were even faster and more responsive. They used all sorts of tricks with save-unders, display lists, and mouse-overs to keep the actual line traffic as low as possible.
Granted, that was the late 80's, and X was in its infancy and clients weren't as feature rich as they are today (The web? Oh ... that thing that's going to replace archie, wais, and gopher...), but it worked just fine for what we used them for. Even at 2400 baud, you could use 'em, but you really wanted at 5400.
Ah ... those were the days, when you could have a 12" X display at home ... 17" if you were really, really lucky. And they screamed at 19.2k! :-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.
NX works now, with the existing X11 apps you already have. That doesn't just include KDE and GNOME, that includes xclock and emacs and acrobat and so on... that includes those oddball legacy X11 programs that you can't reasonably rebuild to support new libraries. I think that's a pretty valuable ability.
They'll think I've lost control again and leave it all to evolution. -- Supreme Being, Time Bandits
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.
Open Source Java Web Forum with LDAP authentication
I hate when people hyperlink every other fucking word in a story they submit. For this post, I don't need links to Mozilla or Open Office to gain more information on the story, it's a fucking nuisence if you ask me.
>>NX takes the X protocol and uses various caching and compression methods to make it more efficient.
I've never read so much arrogance in my life. SlashdotTroll wasn't trolling. You described what SlashdotTroll summarily protested the purpose of the NX server.
And apparently because SlashdotTroll is throwing around a different dialect of English with *many* keyboarding errors, she/he rebutted your argument under an anonymous post because obviously enough people have modded down the post because the word "Troll" appears in the userID.
If SlashdotTroll is a troll, then how did you get so on-topic as did the post you replied to and yet you or someone weilded moderator negation with no more merit than declaring "I'm pretty sure the parent is BS or I just can't read what its saying."
There was a similar story about a Man whom people declared as being the Son of God, and that said man, spoke somthing along the lines of;
(Acts 9:16);
"For I will shew him how great things he must suffer for my name's sake."
Secured Party, Without Prejudice, UCC 1-207: Creditor
I'm a NoMachine developer and I can say that we (and this includes NoMachine's top managemment) praise and help the FreeNX initiative. Actually, they even have access to our internal mailing list where we discuss the latest plans.
We believe that FreeNX will help us in the future, not undermine the company.
Scientia est Potentia