FreeNX

From DesigningPatterns

Jump to: navigation, search

Background

NoMachine makes a product called nxserver that allows X sessions to be accessed remotely, but with a much less bandwidth-intensive protocol than the X protocol. There is a free distribution called freenx. freenx is exceedingly difficult to install, often requiring much trial and error. There is little documentation on the web.

Installation (Fedora 9)

yum install freenx-server
yum install xorg-x11-xauth
yum install xterm
yum install xorg-x11-server-utils
yum install xorg-x11-xinit
yum install xorg-x11-xinit-session
yum install rdesktop
yum install vnc
yum install xorg-x11-fonts*
cp /etc/nxserver/node.conf.sample /etc/nxserver/node.conf
cd /usr/share/doc/freenx-server-version
PATH=$PATH:/usr/libexec/nx
./nxsetup --install

nxsetup --install should display lots of warnings. In /etc/nxserver/node.conf, set COMMAND_XTERM and COMMAND_XAUTH to the proper paths. Designing Patterns sets COMMAND_XTERM to xterm -ls, because we want a login shell launched in order to trigger the keychain logic in /usr/designingpatterns/etc/profile (see ssh). /usr/libexec/nx/nxnode had to be patched with this in order to get the xterm spawned properly (without this, nothing came up after the client successfully authenticated; there was a blank screen). There is no nxserver daemon that runs; nx processes only get launched when a session is created (the client initiates the session with ssh as the nx user).

Also, in order to allow su shells to spawn x-applications, consider adding the following to .profile:

case "$TERM" in
xterm*|rxvt*) xhost +localhost >/dev/null 2>&1 ;;
*) ;;
esac

Without this, the su shell will not have permissions to open the display.

Users

  • The contents of ~nx/.ssh/client.id_dsa.key must be copied into the key text box of the FreeNX client session.
  • Ensure that the nxclient version matches the backend version (this can be seen with /usr/libexec/nx/nxserver --status).
  • Ensure that the optional fonts have been downloaded for nxclient, as without these changing xterm and emacs fonts will not work.
  • When configuring the nxclient, choose the following Desktop settings:
    • Unix
    • Custom
    • Settings -> Run the Following Command -> xterm (this uses the COMMAND_XTERM setting in the server's node.conf)
Personal tools