PDA

View Full Version : [Solved] freenx + nxclient?


rocky
April 23rd, 2009, 08:46
Hi all,

I am new to FreeBSD.

I have FreeNX installed on my remote workstations. But I don't know how to connect to it. I didn't find 'nxclient' for FreeBSD.

Any ideas?

DutchDaemon
April 23rd, 2009, 12:05
There's net/linux-nx-client.

rocky
April 23rd, 2009, 13:19
Thank you, DutchDaemon:)

I've installed that port, but I cannot run *nxssh*

/usr/local/lib/linux-nx-client/bin/nxssh: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory

I guess that I missed some "linux" libraries. But I don't know what I should install, as there are many Linux stuff in /usr/ports/emulators/*linux*. I tried one of them and got the incompatibility problem (wrong linux kernel). I have


hw.snd.compat_linux_mmap: 0
compat.linux.oss_version: 198144
compat.linux.osrelease: 2.4.2
compat.linux.osname: Linux


Any ideas?

Thank you for your helps.

SirDice
April 23rd, 2009, 13:33
libcrypto is part of openssl. You can try to install security/linux-openssl but it looks like that one is too old.

What linux_base did you install? I think you'll have more luck using the linux_base-f8, pkg_delete all the currently installed linux-* packages.

Add the following to /etc/make.conf:

OVERRIDE_LINUX_BASE_PORT=f8
OVERRIDE_LINUX_NONBASE_PORTS=f8


Add to /etc/sysctl.conf:

compat.linux.osrelease=2.6.16


After that install emulators/linux_base-f8 and security/linux-f8-openssl. When all that's done you can try to install the linux-nx-client again.

rocky
April 25th, 2009, 01:50
Thank you very much. I will try your guide at home and report.

rocky
April 27th, 2009, 08:07
So sorry to say that I still get the same error after following SirDice's guides.

Any idea?

SirDice
April 27th, 2009, 10:22
Have a look at the installed libcrypto libraries:


# ll /compat/linux/lib/libcrypto.so.*
-rwxr-xr-x 1 root wheel 1281672 Apr 13 10:37 libcrypto.so.0.9.8b
lrwxrwxrwx 1 root wheel 19 Apr 13 10:37 libcrypto.so.6 -> libcrypto.so.0.9.8b


If you only have 0.9.8b and not 0.9.8 you can try to add a symlink:

# cd /compat/linux/lib
# ln -s libcrypto.so.6 libcrypto.so.0.9.8


It's probably due to linux-nx-client being linked to a slightly older version of openssl.

rocky
May 1st, 2009, 15:50
Thank you, Sir Dice.

After the making the symbolic links as you said, nxssh almost works. Now nxssh requires libXcomp.so.2. I didn't find any ports to install this library. In my system


[root@icy /compat]# find . |grep -i xcomp
./linux/usr/X11R6/lib/libXcomposite.so.1
./linux/usr/X11R6/lib/libXcomposite.so.1.0


Because I changed compat.linux.osrelease to 2.6.16 I guess that change may cause the problem. Is it right?

Thank you.

SirDice
May 1st, 2009, 16:00
Because I changed compat.linux.osrelease to 2.6.16 I guess that change may cause the problem. Is it right?
Probably not.

Searching for libXcomp shows it's an NX compression library and part of the nx-client.

If I read the Makefile correctly it should have been installed with the linux-nx-client port/package:


.for f in libXcomp libXcompsh
${INSTALL_DATA} ${NXSRC}/lib/${f}.so.${PORTVERSION} ${NXDST}/lib
${LN} -sf ${f}.so.${PORTVERSION} ${NXDST}/lib/${f}.so
${LN} -sf ${f}.so.${PORTVERSION} ${NXDST}/lib/${f}.so.2
.endfor

SirDice
May 1st, 2009, 16:06
While there I also noticed this:

${INSTALL_DATA} ${NXSRC}/lib/libcrypto.so.0.9.8 ${NXDST}/lib
${LN} -sf libcrypto.so.0.9.8 ${NXDST}/lib/libcrypto.so


Which is your missing libcrypto.so.0.9.8. Looks like the port doesn't do a good job.

rocky
May 2nd, 2009, 17:10
Great! The libraries are installed into /usr/local/lib/linux-nx-client/lib/ and this path is not searchable. After making links


$ cd /compat/linux/lib && \
ln -s /usr/local/lib/linux-nx-client/lib/lib*


nxssh works well :)

Thank you very much again.

rocky
May 14th, 2009, 10:38
Hi all,

I can run `nxssh` from root console but I can't run it from terminal of normal user


/usr/local/lib/linux-nx-client/bin/nxssh: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory


`libpng` is already installed in /compat/linux/. So this problem relates to library search path.

How can I fix ld path for normal users?

Thank you for helps.

DutchDaemon
May 14th, 2009, 12:31
Strange, ldconfig -r as root and as a non-root/non-wheel user produces the exact same result here.

rocky
May 14th, 2009, 12:41
Yes it's really strange.


# ldconfig -r > /tmp/ldconfig_r1.txt # as root
$ ldconfig -r > /tmp/ldconfig_r2.txt # as non root user
$ diff /tmp/ldconfig_r1.txt /tmp/ldconfi_r2.txt
$ echo $?
0 # no differences :(


Please note that `nxssh` loads libraries from /compat/ . So problem may relate to that directory but I am not sure.

Any ideas?

rocky
May 14th, 2009, 12:43
Woh, I got it. Suddenly I found that the permissions of files in /compat/linux/ were changed (don't know why?). Just


# chmod 755 /compat/linux/usr/*


and it works :) bla bla bla

DutchDaemon
May 14th, 2009, 13:04
Yep, 755 is the default there.

DutchDaemon
April 5th, 2011, 13:34
Two years later, and I had to try to get this working on a thin client. It looks like net/linux-nx-client simply will not work, due to "TCP_NODELAY/IPTOS_LOWDELAY on FD#9" and similar errors. These reports go back to FC4 (so years and years). It just won't work under 8.2 with FC8 or FC10. The errors are always the same.

http://www.google.com/search?q=linux-nx-client+freebsd+TCP_NODELAY

dechardt
February 17th, 2012, 00:23
Hey DutchDeamon,
I managed it to connect to my NXServer due to your hint where to find the missing libraries and another client 'opennx' from ports. You need to install both linux-nxclient and opennx, link the libraries, start opennx et voilĂ : it works!