Google Releases Open Source NX Server
wisesifu writes with news of a new open source NX server, dubbed NeatX, that was released by Google and promptly lost in the shuffle of the Chrome OS announcement. "NX technology was developed by NoMachine to handle remote X Window connections and make a graphical desktop display usable over the Internet. By its own admission, Google has been looking at remote desktop technologies for 'quite a while' and decided to develop Neatx as existing NX server products are either proprietary or difficult to maintain. 'The good old X Window system can be used over the network, but it has issues with network latency and bandwidth. Neatx remedies some of these issues,' Google engineers wrote on the company's open source blog. NoMachine had released parts of the source code to its NX product under the GPL, but the NX server remained proprietary. [...] Neatx is written in Python, with a few wrapper scripts in Bash and one program written in C 'for performance reasons.'"
Well this sure beats HTML+HTTP and Javascript for displaying remote applications. Web browsers are horribly inefficient for running remote applications and its good to know somebody is working on a replacement
Of course the obvious problem with this is finding a way to block the ads running in a remote application. Maybe not if they always appear in the same places, but knowing Google I doubt they will.
As a longtime NX user, this will be very well received. I feel like I'm one of a couple dozen NX users, however, meaning that I think this will go largely unnoticed by mainstream users. The non-proprietary NX-server packages are very non-trivial to install and all attempts thus far at a completed server setup have remained inadequate and completely fly-by-night/unmaintained. I hope people start to use this more and thus perhaps even push the technology farther.
put the what in the where?
I love FreeNX and have used it for a long time, I can't wait to try this...
I also love Python as a language and I used to be an it's C/C++ or Java or it's not worth it.
After falling in love with Python, it is let me see if python can handle this with speed, if not, I'll write a class in C and use python to Access if needed.
I don't really see why they even really need the bash scripts though.
If you use any POSIX system remotely and like GUI's, NX is a must. VNC and Plain X are slow (even with ssh compression)
You mean NoProduct(TM)
Michel
Fedora Project Contribut
This is excellent news, I've really enjoyed using NX but always found it slightly temperamental to use. Still, it gave me high performance rootless application access over a dodgy wifi link in Germany, back to my machine at uni in the UK - with the ability to resume every time the wifi dropped. I've known people have trouble resuming dropped sessions, though it worked when I needed it. Anything which is well-supported and makes NX nicer to work with is very welcome - I hope Google press on with making this better and better. It's be real nice if they'd make an open source client available too, preferably with a choice of front-end widget libraries ;-)
Another project, which I actually head about on Slashdot and am very impressed by is Xpra: http://partiwm.org/wiki/xpra
Xpra = X Persistent Remote Applications, i.e. connect to your xpra server (tunnels through ssh by default) to get rootless applications delivered to your desktop, disconnect and reconnect somewhere else and get the same apps back. Like screen, for X. It's not meant for fast-changing displays, e.g. video. But it's a nice, compact approach that largely consists of a few thousand lines of Python. It uses modern X extensions cunningly to get the job done without having to understand most of the X protocol itself. And, somewhat like NX, it's better suited to high latency links than simple X11 protocol is. These days I think Xpra is starting to get more advanced features such as Windows client support, theme matching for remote and local apps, some clipboard sharing, etc. It's a nice little app that has its uses, particularly if you want something simpler than NX to set up and administer. The server can also be easily run by an unprivileged user whereas I'm not sure if that's the case for NX (?).
X-protocol SUCKS for low-bandwidth high-latency links.
NX can require 100x less of bandwidth on some tasks. I remember reading news using 19200 modem link other the NX connection.
a free oss server... that's good news. Is there source for the neatx client somewhere?
The Admin and the Engineer
They have developed it, they have the best know-how and most likely are the ones to offer best service and support. Such people don't usually starve.
Ezekiel 23:20
How's this any different than VNC?
And I've been using that for this exact purpose for like what, 10 years?
> X-protocol SUCKS for low-bandwidth high-latency links.
Er, if you use it correctly, X doesn't give a shit about latency, and doesn't use a lot of bandwidth either.
The biggest problems are toolkits and applications written by people who treat X like it's Win32. The most common flaws are unnecessary round trips (explicitly querying state rather than monitoring changes), performing processing immediately upon receipt of an event without seeing if it's superseded by another event in the queue (this interacts particularly badly with WMs which do continuous resize), and continually pushing XImages over the link rather than storing Pixmaps on the server.
The most extreme example of such lameness is earlier versions of PyOpenGL (like, every version up until six months ago), which called glGetError() after EVERY SINGLE OpenGL command, just so that they could raise Python exceptions. Anyone who knows the first thing about GLX will, upon discovering this, have acquired a desk-shaped dent in their forehead to match the forehead-shaped dent in their desk.
Because NX on modern hardware can provide a user experience that is virtually indistinguishable from a local desktop.
Even X or VNC on a fast connection with fast machines on both ends will feel a bit sluggish. NX works great on old hardware with slow connections -- if you've got multiple clients, you can squeeze more clients out of the same hardware/bandwidth. This can be a *huge* deal.
NoMachine's products aren't cheap, but can be totally worth it given the cost savings in hardware, bandwidth, and support. Their free version also works great for anything but a terminal server.
You can chalk me up as a *huge* fan of NX.
-- If you try to fail and succeed, which have you done? - Uli's moose
I'm a VNC user, but I realize some of the benefits of NX. (Sound...performance...etc.)
However...I couldn't get past the start-up times. With VNC, I'd 'click' and poof, my applications would be right were I left them, continuing on as if I'd never left. If I closed the window, the applications didn't even know I was gone.
With NX, I'd connect, I'd go through a big start-up process, I'd log in, and wait for my windows to open.... If I wanted to leave, I'd click on the 'I'm leaving now' and it would put everything into a state to where I could come back to it, etc etc. (granted my remote machine was no speed demon.)
So, finally I went back to VNC. I tend to have the window go up and down quite frequently, and the startup/shutdown times of NX were just a deal breaker.
If I was going to use it as more of a truly 'remote terminal' when I'd have it up for hours at a time, then perhaps the heavily loaded ends wouldn't bother me.
--Welcome to the Realm of the Hawke--