FreeNX from please_try_again repo

Installed nxclient and nxnode from nomachine, then I installed freenx from please_try_again’s repo

When I run

nxsetup --install --setup-nomachine-key

I get the following errors

----> Testing your nxserver configuration ...
Error: Could not find nxagent in /usr/bin. Please install some OSS components.
Warning: Invalid value "APPLICATION_LIBRARY_PRELOAD=/usr/lib/NX/lib/libX11.so.6:/usr/lib/NX/lib/libXext.so.6:/usr/lib/NX/lib/libXcomp.so.3:/usr/lib/NX/lib/libXcompext.so.3:/usr/lib/NX/lib/libXrender.so.1:/usr/lib/NX/lib/libXpm.so.4:/usr/lib/NX/lib/libXrandr.so.2:/usr/lib/NX/lib/libXfixes.so.3:/usr/lib/NX/lib/libXdamage.so.1:/usr/lib/NX/lib/libXtst.so.6:/usr/lib/NX/lib/libXcompshad.so.3". /usr/lib/NX/lib/libX11.so.6 could not be found. Users will not be able to run a single application in non-rootless mode.
Warning: Invalid value "COMMAND_START_GNOME=gnome-session"
         Users will not be able to request a Gnome session.
Warning: Invalid value "COMMAND_START_CDE=startlxde"
         Users will not be able to request a CDE session.
strings: '/usr/lib/NX/nxagent': No such file
Error: Could not find 1.5.0 or 2.[01].0 or 3.[012345].0 version string in nxagent. NX 1.5.0 or 2.[01].0 or 3.[012345].0 backend is needed for this version of FreeNX.


  Errors occured during config check.
  Please correct the configuration file.

I then followed the instructions on this page NoMachine NX - Support: Documentation, first trying the section which says:


To compile nxagent you need:
nxcomp-X.Y.Z-N.tar.gz
nxcompext-X.Y.Z-N.tar.gz
nxproxy-X.Y.Z-N.tar.gz
nx-X11-X.Y.Z-N.tar.gz
nxauth-X.Y.Z-N.tar.gz
nxagent-X.Y.Z-N.tar.gz
Go to your ~/NX directory and untar, from there, all the previous files. nx-X11 is a modified XFree86 distribution, so, as usual:


*> make World*This will also build nxcomp, nxcompext and all the required libs in nx-X11.

I did this in /usr/lib/NX, there was no makefile in this directory so I cd’d into nx-X11 first as this seemed to make sense, make World ran without error but nxsetup --install --setup-nomachine-key still returned the same nxagent error so I then tried to follow this section right at the beginning of the page:

To build nxproxy you need:
nxcomp-X.Y.Z-N.tar.gz
nxproxy-X.Y.Z-N.tar.gz
As for all the other Open Source components, get sources from**http://www.nomachine.com/dev_sources.php**](http://www.nomachine.com/dev_sources.php) and follow instructions you find in the README file.


*> cd ~/NX> tar zxvf nxcomp-X.Y.Z-N.tar.gz> cd nxcomp> ./configure> make>> cd ~/NX> tar zxvf nxproxy-X.Y.Z-N.tar.gz> cd nxproxy> ./configure> make*

When I tried this I got:

linux:/usr/lib/NX/nxcomp # make
make: Nothing to be done for `all'.

I’m at a loss as to what I should try next, can anyone help?

Lost count of how many times I’ve re-downloaded, re-tried installing these packages, even reinstalled the OS, re-downloaded and retried installing, ended up with a banging headache from all the banging my head against the wall

No matter what I’ve tried I still end up with the ‘make: Nothing to be done for `all’’ error for every sngle one of the packages (except for the ‘make World’ command inside nx-x11), there is however one thing mentioned in the readmes that I haven’t tried because I don’t know how, they all say pretty much the same thing:

README
------


1. To compile:


   > tar zxvf nxproxy-X.Y.Z-N.tar.gz
   > cd nxproxy
   > ./configure
   > make


   You'll have to run gmake under Solaris.


2. The 'make install' target is not currently supported
   in the Makefile, but it should be simple to fix.

‘make’ ( is refusing to work, the makefile exists so might it be possible that ‘fixing’ the ‘make install’ target is what’s needed? Not tried that because I have no idea how to go about ‘fixing’ it, would that be something anyone could help me try?

@Ecky,

I’m sorry. I’m not able to work on too many different problems at the same time. But I can tell you that you’re doing things in the wrong order. You should first install FreeNX from my repo (assuming you want FreeNX), then run freenx-setup (optionally with options), and finally run nomachine-setup if you (also) want to use Nomachine NX. You don’t need to download any files. The script will do it for you.

It works fine on 12.1. It also works on Ubuntu, Fedora 16, ArchLinux and Mandriva. Why it didn’t work for me on openSUSE 12.2 yet … I don’t know. As you said, FreeNX is a nightmare. Oh… you didn’t say that? But you could have and I would have agreed. No matter how many days, weeks, months or years you’ll spend working on this f-u-c-k-i-n-g NX, it will never work as you expect. I’ll have to find what went wrong as soon as I have time. Stay tuned!

What do you want to compile? I don’t understand. It’s just the connection that fails … because of a supid ssh key or permission problem. The installation should be fine.

“someone” thought it would be clever to uncomment this line in /etc/ssh/sshd_config


# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile	.ssh/authorized_keys

FreeNX by default uses .ssh/authorized_keys2. Therefore it could not work.

If you ask me … whoever did that should be punished. … but fortunately you didn’t ask me.

Anyway commenting out this line solves the problem. Creating a symlink would have worked too.
FreeNX works fine under 12.2 … I don’t have time to test NoMachine NX, but I guess it will work fine too.

when I have a minute, I will add a sed line in freenx-setup to undo this nonsense … unless:

  1. a security guru can give me a good reason to change openssh default behaviour.
  2. I will agree with him.

To install FreeNX (which includes freenx-setup and nomachine-setup) from my repo on a fresh openSUSE 12.2, here’s how to proceed:
become root in a terminal

su -l

add my repo

zypper ar [noparse] http://download.opensuse.org/repositories/home:/please_try_again/openSUSE_12.1/[/noparse]  PTA

refresh the repo and trust always (a) the key:

zypper ref -r PTA

install FreeNX:

zypper in FreeNX

setup FreeNX server (in this example to listen on port 9122):

freenx-setup -p 9122

Install NoMachine NX server and client:

nomachine-setup

freenx-setup and nomachine-setup have several options which are described in detail in these 2 articles:

If you let freenx-setup create a DSA key pair (as in the example above), you will find a file /var/lib/nxserver/home/computername.nxs, where ‘computername’ is your computer name. If your computer name is unpronounceable because you didn’t uncheck automatic configuratiom during setup, it’s not my fault. Copy this file in directory ~/.nx/config on your clients[s]. (this directory will be created the first time you run nxclient).

Now either create a hardlink (better than a symlink in this case) because of the reason I mentioned in a previous post:

# cd /var/lib/nxserver/home/.ssh
# ln authorized_keys2 authorized_keys

Alternatively you can comment out the following line in /etc/ssh/sshd_config, as I explained in my previous post:

AuthorizedKeysFile	.ssh/authorized_keys

And make sure that all these files are owned by user ‘nx’:

# ls -la
total 28K
drwx------ 2 nx root 4096 Sep  7 23:15 .
drwx------ 3 nx root 4096 Sep  7 22:59 ..
-rw------- 2 nx root  668 Sep  7 22:59 authorized_keys
-rw------- 2 nx root  668 Sep  7 22:59 authorized_keys2
-rw------- 1 nx root  668 Sep  7 22:59 client.id_dsa.key
-rw-r--r-- 1 nx root  403 Sep  7 22:59 known_hosts
-rw------- 1 nx root  601 Sep  7 22:59 server.id_dsa.pub.key

That’s it. You should be able to connect from a client by choosing ‘computername’ as as session in NoMachine client. I do not guarantee that the script will open the ssh ports (in this example 9122 and 9123) in the firewall, because I’ve done that only 3 or 4 times and this is not enough to decide that it works*. But you can open the ports yourself or disable the firewall (for testing). Notice that while this script has been tested under several distros, opening ports in the firewall is an extra openSUSE feature. :wink:

If you have a problem (with my default setup), check that these 3 lines have been added in /etc/ssh/sshd_config:


Port 22
Port 9122
Port 9123

And restart the ssh daemon:

# service sshd restart

To connect to the FreeNX server, select port 9122 in NoMachine client. To connect to NoMachine NX server, select port 9123. You can open as many connections as you like to the FreeNX server - actually no more than the number of sessions defined in SESSION_LIMIT in /etc/nxserver/node.conf. Default is 200. You can not open more than 2 connections to the NoMachine NX server free edition.

If you follow another method or read whatever obsolete or inconsistant wiki articles, I’ll wish you good luck, but I won’t help you. If you need more details, read my articles.

  • and btw I’ve never done it under 12.2.