Next Knoppix Release to Feature GPL'd FreeNX
linuxtag-reporter writes "The first day of LinuxTag, Europe's biggest Free Software event (expecting 25,000 visitors) already has one big highlight. It seems that Fabian Franz from the Knoppix Project hacked up a 'FreeNX Server' based on NoMachine's NX technology (poor NoMachine might lose business now). Fabian Franz presented a first preview of the 'GPL Edition' in a live demo together with Kurt Pfeifle. The demo showed sessions going from Germany to Italy just based on a slow WLAN connectivity (shared with hundreds of visitors). A connection lost due to bad network conditions was easily re-connected to, and a deliberately suspended session was revitalized too -- it was just like 'screen' with a GUI! A report on the official LinuxTag webpage says FreeNX will be publically released for the first time as part of the upcoming Knoppix-3.6 release. The Kalyxo project is building and hosting Debian packages of FreeNX and NX/GPL for everyone to use."
For the rest of us, gnoppix is the best bet. On a side note - what's the real benefit for gnoppix / knoppix outside of a kiosk or classroom environment?
VNC performance has always been unacceptable to me, even on LAN's. NX uses the X11 protocol, but it encrypts (via SSH) and compresses by itself so you don't have to open an SSH tunnel, etc. It can also play the sound on the local host.
NoMachine had opensourced the NX products, so anybody has the legal right of forking and renaming it.
Nothing particularly new: firms will continue to give money to NoMachine for support and administration tools.
Have fun...
Ciao, Renato
Actually, you are wrong indeed.
All the core NX technology is GPL. The proprietary part is based on them. What Fabian did was to take those components and create it's own version of this part.
Scientia est Potentia
From the manpage for screen:
"Screen is a full-screen window manager that multiplexes a
physical terminal between several processes (typically
interactive shells)."
I use it all the time; start an interactive job while I'm at work on a particular machine using screen, disconnect using "CTRL-A d" then go home, log into the same machine, issue the command "screen -r" and I'm right back into that shell session.
These days, I mostly use TightVNC over a VPN pipe instead, which gives me the graphical equivalent of this.
Hope this helps.
- Leo
You don't use science to show that you're right, you use science to become right.
As the original post said, you can reconnect to disconnected sessions, which is nice. A VNC can't do that if the SSH tunnel is broken. I also currently launch VNC from inetd, and once that connection's broken, there's no way to re-connect to it. I'm definitely looking forward to checking out FreeNX!
As far as I remember, NoMachine's NX software is based on GPL code, which means they had no choice but to release the source code.
I remember trying to build it from source when it first came out, but it proved rather tricky. It's nice that someone's now put in the time to make an easy-to-compile distribution of it.
I should point out that NoMachine's MX was (IIRC) based on existing GPLed Free Software, so this isn't stealing any more than it was for NoMachine to take that GPLed code and make a product out of it. The source code for their stuff is on their website, it's just that another group has now taken that code and put it together in an easier-to-compile distribution. (If I understand the post correctly - I could not reach the Kalyxo webpage...)
Newsforge article
Potential source for FreeNX Server
This was linked from NoMachine's site, somehow I got to it before it died.7 .shtml?tid=11
http://www.newsforge.com/software/03/07/10/214624
from the article:
Thin client computing lets users run applications on a remote server and display the results locally. NX Client works something like VNC (see our recent story), but instead of using Remote Frame Buffer protocol, NX Client acts as an X Window server. Thin clients help contain costs by eliminating the need to install applications at each user's desktop, and improve security by limiting the availability of applications and data. The clients themselves can be dedicated hardware devices or regular computers running thin client software.
http://www.newsforge.com/software/03/07/10/21462 47.shtml?tid=11
Introduction to NX technology
NX uses CUPS for printing support so you can print from remote servers to your local printers using the IPP 1.1 protocol. It's possible also to use my local printers exported by SAMBA which is quite useful ...
On the server:
vncserver -localhost
On the client
ssh -L5901:localhost:5901 servername
vncviewer localhost:1
There you go. The server is persistent. If the ssh connection goes down, just reconnect and restart the viewer.
TightVNC is still horrifically slow (and somewhat bandwidth-consumptive) compared to RDP -- try them side-by-side some time.
I must be unknowingly running FreeNX (under an alias to vncviewer). If vncserver is still alive, you can *always* reconnect to the session, from any computer! I use a knoppix CD, ssh -X to my machine and vncviewer my vnc session, and it works great!
My journal. Mainly about freedom.
There was nice article about the NX:
http://www.orangecrate.com/article.php?sid=677
What you are looking for is xmove.
It's not been updated since '94 and it's flakey as hell - but it allows you to move an X application from machine to machine.
It works as a proxy server between your application and the real X server - which must be listening on a TCP socket.
I've toyed with it, but not managed a great deal of success.
NX is even mildly supportive of an open-source complete solution -- on the source download page (their site is ./'ed right now) it clearly says something to the effect that they expect a community-created packages will be assembled.
Actually the best protocol for a LAN link is X11 by a wide margin. I consider myself an expert since I work all day my customers remote computers using some form of remote software. I also and very familiar with the low level details of RDP and RFB having written code for both. Here is my order list from fastest to slowest for LAN(10 or 100) and WAN links(1.5mbps)
LAN:
X11
ICA (Citrix)
RDPv5
PcAnyWhere
RFB with Hextile encoding (VNC)
WAN:
ICA
RDPv5
NX
RFB with Tight encoding
PcAnyWhere
Webex
X11
I have never tired NX over a LAN, but it would probably be pointless. Note the NX over a WAN seems as fast as RDP, but since I have only tried NX from one server and with the differences between the Linux/Windows desktop, its hard to tell for sure which is better.
Speed is only half the story though. VNC's biggest bonus is that the server client are very portable, small and safe to install. ICA is the best, but not widely avaliable. RDP is more common now that all servers and XP workstations have it.
However, I still use VNC over RDP because of NAT firewalls. VNC has an option where the server can connect to the client which allows me to connect to basically any computer in the world with Internet access and a 700kb download. A poor mans webex except faster and easier to use.
Think stateless migratable multiuser VNC sessions (last time I checked VNC was not multiuser...only one desktop after all). NoMachines product gets a lot closer to Citrix, which is one of three killer apps on Windows that does not have a decent analog in Linux (also Quark XPress [Scribus doesn't come close], Citrix [no X11 isn't even the same type of idea, neither is VNC], and unfortunately, Exchange (although SuSe's OpenExchange server is very, very close).
[RIAA] says its concern is artists. That's true, in just the sense that a cattle rancher is concerned about its cattle.
I wonder how this affects the proposed KDE/NX integration supposedly under development by Aaron Seigo? If you'll remember, this was mentioned way back in December in response to UserLinux shipping Gnome, but I haven't heard anything about it since... let's hope this FreeNX is desktop-independent.
For those still mystified as to what NX is, it is essentially X11 tunneled through SSH, with some clever caching to drastically limit the number of connections an X server/client need to make, to make the connection feel much quicker.
untechnical explanation: Normally a remote X session will have to make many hundreds/thousands of trips between the server and client, but NX uses a cache at both ends, only making the most necessary trips, and usually just sending a diff of the changes rather than the whole stream of data. (roughly speaking, of course, as I have absolutely no idea what I am talking about.)
As I understand it, NX probably won't give you a huge improvement over compressed ssh on a local network. The big gains come in high latency networks (e.g. internet), as the NX server can eliminate a lot of expensive and unnecessary delays due to X11 round-trips.
x0rfbserver hasn't been updated in forever. Use X11VNC to export your local X display. I spent forever looking for x0rfb updates before I found that. It's much more stable, faster, and has better compression options.
The compression is one very good benefit. It is not simple zip-like compression of the data stream, but a somewhat smart image compression which takes advantage of the fact that it is usually transmitting a desktop with draggable rectangular windows. Compression can be optimized on special cases like that.
Multiple simultaneous desktops is something more to do with X11 than VNC, but VNC is a good way to realize this through multiple servers. Also, VNC is cross platform so you can view your desktop on a Mac or Windows machine with all native apps and no client-side X11 whatsoever, or view a Mac or Windows desktop on your favorite unix-like box.
taken! (by Davidleeroth) Thanks Bingo Foo!