FreeNX
From DesigningPatterns
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.keymust be copied into the key text box of the FreeNX client session. - Ensure that the
nxclientversion 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)
