NX Server/Client Installation
=============================

References
----------

- http://freenx.berlios.de/

- http://nomachine.com/

- http://wiki.centos.org/HowTos/FreeNX/


Introduction
------------

This document describes the setup of an NX server/client
infrastructure on SL54.

First, a more generic installation procedure is illustrated, second,
the PSI default nx server/client setup is shown.

Generic Installation
--------------------

NX Server
~~~~~~~~~

Required Packages
.................

- nx
- freenx

The packages were found in the centos-extras repository.  One can use
the following yum repo file, for instance.

File `/etc/yum.repos.d/centos-extras.repo`::

    [centos-extras]
    name=Centos Extras for SL5.5
    baseurl=ftp://mirror.switch.ch/mirror/centos/5.5/extras/$basearch/
    enabled=0

Procedure
.........

Install the required packages on your platform, i386 or x86_64::

    # yum --enablerepo centos-extras install freenx

Now, generate the ssh keys::

    # nxkeygen

The keys are stored in `/etc/nxserver` and in the home directory of
the nx user account::

    # cd /var/lib/nxserver/home/
    # ls -l .ssh/
    -rw------- 1 nx root 672 Oct 22 16:28 authorized_keys2
    -rw------- 1 nx root 672 Oct 22 16:28 client.id_dsa.key
    -rwx------ 1 nx root 392 Oct 22 16:14 known_hosts
    -rw------- 1 nx root 605 Oct 22 16:28 server.id_dsa.pub.key

The private key `client.id_dsa.key` has to be copied to the nx client
(see next section).

NX Client
~~~~~~~~~

Required Packages
.................

- nxclient


Procedure
.........

NoMachine does not allow the distribution of their client, so it must
be downloaded from their website at http://nomachine.com/.

After downloading install it::

	# rpm -ivh nxclient-3.4.0-7.i386.rpm

Get the private ssh key of user nx from the server and copy it to the
client::

    # [root@server]
    # scp /var/lib/nxserver/home/.ssh/client.id_dsa.key  client:/usr/NX/share/keys/

Create the following symbolic link to the key on the client::

    # [root@client]
    # cd /usr/NX/share/keys/
    # ln -s client.id_dsa.key server.id_dsa.key

Now, you can login to the nx server::

    # nxclient


PSI Installation
----------------

The difference between the generic and the PSI installation is, that
the NX packages can be installed from our local repository. Further,
the PSI default keys are part of this installation, i.e. installing
the RPMS sets up a working NX server/client environment.


NX Server
~~~~~~~~~

Required Packages
.................

- nx
- freenx
- freenx-psi


Currently the server packages are available from the SL54 psi-beta
repository, while the client packages are located in the PSI nonfree
repo.

Procedure
.........

File `/etc/yum.repos.d/psi-beta.repo`::

    [psi-beta]
    name=54 psi beta
    baseurl=http://linux.web.psi.ch/dist/scientific/54/beta/
    enabled=0

Install freenx, nx and freenx-psi on the server::

    # yum --enablerepo psi-beta install freenx nx freenx-psi

NX Client
~~~~~~~~~

Required Packages
.................

- nxclient
- nxclient-psi


Procedure
.........

Install nxclient and nxclient-psi on the client host::

    # yum install nxclient nxclient-psi


Now, you can login to the nx server::

    # nxclient

