FreeNX for Feisty

Back in 2005 I needed to investigate remote desktop solutions that would allow people to connect from a windows desktop to a linux server. The project I needed to do that for afaik never got anywhere, but I got to know about FreeNX and ported the existing kanotix packages to Ubuntu Hoary. Since there was considerable interest in them, I even started my own repository (yes, this is how the Seveas repo started!). FreeNX didn’t seem to go anywhere though and when I realized the downsides of NX I lost interest in it as well. Breezy and Dapper packages were little more than small fixes.

But a while ago NX 2.1.0 was released, as was FreeNX 0.6.0 - the downsides are still there but the result of using this partially proprietary technology is also still pretty amazing, so I picked up the packages again and ported the NX 1.5.4/FreeNX 0.5 patches that were still needed to the newer versions. The packaging also needed some love and has been simplified as well. There is no nxviewer/nxdesktop/nxnode package yet, but the core libs and the nxagent are packaged, so it’s usable as remote desktop solution on Ubuntu Feisty!

Downloads of these shiny new FreeNX 0.6.0/NX 2.1 packages are available at your favorite mirror - speaking of which: I could us an extra mirror, so if someone has lots of bandwidth and some diskspace available, please help!

17 Comments

  1. Nico Says:

    I might have some diskspace and bandwith.
    Mail me how I can help you.

  2. mathew Says:

    So what are the downsides?

  3. I have lots of space left for a mirror, not sure about what monthly bandwidth is needed. Mail me with details.

    You already told me some of the downsides of NX on irc, it might be interesting to post them though and elaborate the subject.

  4. Flavio Says:

    Thank you! I’m going to install these new package since I’m still using the Dapper ones from your repository. I’d like to know the NX downsides too and why it has to be patched to work on Ubuntu. I can’t figure why NoMachine doesn’t care about about Ubuntu and provide (working) packages.

  5. The downsides of NX basically boil down to nomachine being an upstream that does not care about properly integrating their code into the projects they work on (the X server). Which means that when you run the NX code on your server, you run code from an old Xfree86 snapshot, which most likely has security bugs. Much of their code is also still proprietary (the client, the web plugin etc..).

    Both these things make NX a very unsuitable thing to integrate properly in any distribution that cares about security and freedom, such as Ubuntu.

    A proper solution would be to make gtk/qt etc be able to disconnect from an X server and reconnect to it or another one, and to make the compressed X protocol which NX uses part of Xorg proper.

  6. erik Says:

    Does the 2x.com version have similar problems?

    X.org isn’t making things very easy either with its antique architecture. I have understood however that if all you wanted (sane first iteration?) to do was to get the compression for protocol it wouldn’t be hard to integrate the compression proxy to mainstream. That was just my thought when I peeked at the Nomachine’s implementation.

  7. 2x.com is basically nx 1.5.4 with all source code available, so the code problems are definitely still there. X.org is actually making things much easier now with Xorg 7.0 and higher and afaik there is some progress with a proper solution to the problems NX tries to solve.

  8. erik Says:

    Nice to know that things are improving! If that sort of technology was available out of the box on all the distributions and it was made pretty solid it would be a nice selling point.

    What I really have wondered is why NX uses that ssh? In especially larger environments you want SSO for the terminated applications as well and that would mean kerberos. I know that Openssh knows kerberos, but so should X on its own already (it does already doesn’t it?) so I’m sort of confused what is the extra value of that ssh pipe. Kerberized applications can handle the transport security as well.

    Sure, I’m aware of how the “NX shell” works but it all seems a big hack to me, and especially because of the overlapping features. X should have some proper tools for that stuff? (Session managing, etc)

  9. Hi there, I passed along your blog post to a developer friend who works with FreeNx for his work and such. You may want to check out his posting about what he’s done / is doing with it here: http://lavalinux.blogspot.com/2007/05/nx-your-worries-away.html

    Thanks, and good luck!

  10. Wout Says:

    Hello Dennis,

    First of all thanks for the packages….. Ie got a small problem… AMD64.

    I don t see any packages available for my architecture. ANy info on getting it to work on a 64 bit install of feisty?

    I get a “dpkg-gencontrol: error: current build architecture amd64 does not appear in package’s list (i386)” on dpkg-buildpackage -rfakeroot -uc -uc.

    If you give me directions on how to get the amd64 packages created I’test them and upload them back to you if you want that…

    Thanks any way…

  11. NX is not 64bit-safe, nomachine doesn’t care about that.

  12. Wilbur Harvey Says:

    I am also trying to figure out how to get freenx for feisty amd64.
    A while ago, I compiled the sources from dentalonline on amd32, and then installed them using dpkg -i –force-all and they seemed to work, but those sources don’t seem to be there anymore, and by .deb’s don’t work on the current version of feisty.
    Any ideas on how to get it to work on amd64?

  13. Flavio Says:

    Dennis, I installed your packages on my Feisty machines but can’t manage to make them work. I get this error:

    NXPROXY - Version 2.1.0

    Copyright (C) 2001, 2006 NoMachine.
    See http://www.nomachine.com/ for more information.

    Info: Proxy running in client mode with pid ‘5133′.
    Session: Starting session at ‘Fri May 4 15:47:11 2007′.
    Info: Synchronizing local and remote caches.
    Info: Handshaking with remote proxy completed.
    Info: Using adsl link parameters 512/24/1/0.
    Info: Using cache parameters 4/4194304/32768KB/32768KB.
    Info: Using image streaming parameters 50/128/1024KB/2048/256.
    Info: Using image cache parameters 1/1/131072KB.
    Info: Using pack method ‘16m-jpeg-7′ with session ‘unix-kde’.
    Info: Using ZLIB data compression 3/3/0.
    Info: Using ZLIB stream compression 6/6.
    Info: No suitable cache file found.
    Info: Listening for font server connections on port ‘11000′.
    Session: Session started at ‘Fri May 4 15:47:11 2007′.
    Info: Established X server connection.
    Info: Using shared memory parameters 1/4096K.
    Session: Terminating session at ‘Fri May 4 15:47:40 2007′.
    Info: End of NX transport requested by signal ‘15′.
    Info: Waiting the cleanup timeout to complete.
    Info: Shutting down the NX transport.
    Warning: Parent process appears to be dead. Exiting watchdog.

    Old Dapper packages work fine. Any help is really appreciated!

  14. IgnorantGuru Says:

    Thanks a lot - your packages worked great. I used the old ones in Edgy. When I installed Feisty I thought I would just give vnc4server a try, but it was a MESS compared to FreeNX. So I was glad to find these updated for Feisty, and they required no tweaking. (I installed Feisty from scratch after the upgrade failed.)

    One question for anyone who may have encountered this… When I connect to the remote, everything works normally except Konqueror File Manager, which is very slow to respond. I click on a folder, for example, and after a few seconds delay it will open. That is the only place I seem to get this delay, and it is LONG. Any thoughts what could be causing it? I’m clueless.

  15. Did KDE session startup change in edgy/feisty perhaps? Or are you using gnome?

  16. IgnorantGuru Says:

    If you’re speaking to me Dennis, I’m using KDE. Not sure what you mean by session startup changing. Konqueror file manager is the only app that seems to be affected.

    Also, I too am trying to get nxclient at least running on AMD64. Do you think –force would work? Anyone have suggestions?

  17. John Watts Says:

    Just a note as I work for NoMachine’s Premium Partner in the US.

    1. True 64-bit is in the 3.x roadmap With 2.x clients you must still have 32-bit libraries available. You can reference some work-arounds provided freely on the NoMachine Knowledge Base here:

    http://www.nomachine.com/ar/view.php?ar_id=AR07D00407
    http://www.nomachine.com/ar/view.php?ar_id=AR05E00459
    http://www.nomachine.com/ar/view.php?ar_id=AR11D00431

    We have seen with SuSe there is issues with nscd causing a problem on 64-bit.

    2. Ubuntu 5.04 - 7.04 are now officially supported. I personally did testing on Feisty.

    3. As to the Free/NX server side packages, I don’t know.

Leave a Comment