# freenx + nxclient?



## rocky (Apr 23, 2009)

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 (Apr 23, 2009)

There's net/linux-nx-client.


----------



## rocky (Apr 23, 2009)

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 (Apr 23, 2009)

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 (Apr 25, 2009)

Thank you very much. I will try your guide at home and report.


----------



## rocky (Apr 27, 2009)

So sorry to say that I still get the same error after following *SirDice*'s guides.

Any idea?


----------



## SirDice (Apr 27, 2009)

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 1, 2009)

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 1, 2009)

rocky said:
			
		

> 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 1, 2009)

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 2, 2009)

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 14, 2009)

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 14, 2009)

Strange, [cmd=]ldconfig -r[/cmd] as root and as a non-root/non-wheel user produces the exact same result here.


----------



## rocky (May 14, 2009)

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 14, 2009)

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 14, 2009)

Yep, 755 is the default there.


----------



## DutchDaemon (Apr 5, 2011)

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 (Feb 16, 2012)

*try opennx*

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!


----------

