FreeNX
[http://freenx.berlios.de FreeNX] is a system that will allow you to access your desktop from another machine over the internet. You can use this to login graphically to your desktop from a remote location. One example of its use would be to have a FreeNX server set up on your home computer, and graphically logging in to the home computer from your work computer, using a FreeNX client. This page will describe how to set up a FreeNX server and a client on Ubuntu systems, for the above example usage.
Terminology
The Server is the computer you want to connect to. This is the computer where the FreeNX server will need to be installed. The name of the Ubuntu package providing the server is "freenx". For the example used here, the home computer is the server.
The Client is the computer from which you want to be able to access the Server. The name of the Ubuntu package providing the client is "nxclient". For the example used here, the work computer is the client.
Installing the FreeNX server
We will be installing the FreeNX server on the Server machine, i.e., the machine that you want to access remotely. In the stated example, this is your computer that is at home.
Packages from Ubuntulinux.nl
Add these to /etc/apt/sources.list for hoary
deb http://ubuntulinux.nl/ /
Note: Some people will tell you to add kanotix as a source. Do not do this. It is deprecated
or these for breezy
deb http://seveas.ubuntulinux.nl/ ubuntu-seveas freenx
Note: The nxlibs in this version are compiled with g++4.0 from breezy and are thus not suitable for hoary.
For breezy only: Make sure that in /etc/nxserver/node.conf there is valid and uncommented xauth path. If you install freeNX for the first time, this setting is correct already
COMMAND_XAUTH=/usr/bin/xauth
Update your sources {{{sudo apt-get update }}}
Install it
sudo apt-get install freenx
Unless you are overly concerned with security, you should choose the nomachine key during the install, there is absolutely NO added security risk involved in not using it. Read an [http://en.wikipedia.org/wiki/Secure_Sockets_Layer SSL] primer if you want to know the details about why this is the case
Add a user (You need to use a username that currently exists on your system
nxserver --adduser <Username>
Set a password (does not have to be the same as the system password)
nxserver --passwd <Username>
Packages from Backports' Hoary-Extras
Add these to /etc/apt/sources.list for hoary
deb http://ubuntu-backports.mirrormax.net/ hoary-extras main universe multiverse restricted
Update your sources
$ sudo apt-get update
Install it
$ sudo apt-get install nxserver nxdesktop nxssh nxtunnel-client nxtunnel-server
Unless you are overly concerned with security, you should choose the nomachine key during the install, there is absolutely NO added security risk involved in not using it. Read an [http://en.wikipedia.org/wiki/Secure_Sockets_Layer SSL] primer if you want to know the details about why this is the case
For breezy only: Make sure that these settings are in /etc/nxserver/node.conf
COMMAND_XAUTH=/usr/bin/xauth COMMAND_XSET=/usr/bin/xset COMMAND_XMODMAP=/usr/bin/xmodmap COMMAND_XKBCOMP=/usr/bin/xkbcomp AGENT_EXTRA_OPTIONS_X="-fp /usr/share/X11/fonts/misc/,/usr/share/X11/fonts/100dpi/,/usr/share/X11/fonts/75dpi/,/usr/share/X11/fonts/Type1/"
To enable the log files: Make sure that these settings are in /etc/nxserver/node.conf
NX_LOGGING=1 NX_LOGFILE=/var/log/nxserver.log
Defining a non-default ssh port
By default, the nxserver uses port 22 for communicating over SSH. On some machines or networks, port 22 may be blocked. For example, my evil ISP blocks port 22. So I have the sshd (daemon) listening on port 8888. If port 22 is blocked on the machine that acts as the freenx server, then you can change the default port by doing the following:
Edit the file /etc/nxserver/node.conf
Find
# The port number where local 'sshd' is listening. #SSHD_PORT=22
and change it to:
# The port number where local 'sshd' is listening. SSHD_PORT=8888
(Here, "8888" is the port that sshd is listening on)
That is, change the port number to the one that sshd is listening to, and uncomment the line.
Installing the FreeNX Client
You should be able to access your Ubuntu box from any Windows or Linux box using the free client from [http://nomachine.com NoMachine's website]. You can also embed your NX Server in a webpage by installing the Nomachine Web Companion and the Apache webserver.
This section covers installation of the FreeNX client on a Ubuntu Linux machine. For the example covered in this article, the client is the work computer.
Packages from Ubuntulinux.nl
Add these to /etc/apt/sources.list for hoary
deb http://ubuntulinux.nl/ /
Note: Some people will tell you to add kanotix as a source. Do not do this. It is deprecated
or these for breezy
deb http://seveas.ubuntulinux.nl /
Note: The nxlibs in this version are compiled with g++4.0 from breezy and are thus not suitable for hoary.
Install the FreeNX client by doing the following on the client machine from where you wish to start a FreeNX session:
$sudo apt-get install nxclient
Packages from Backports' Hoary-Extras
Add these to /etc/apt/sources.list for hoary
deb http://ubuntu-backports.mirrormax.net/ hoary-extras main universe multiverse restricted
Update your sources
$ sudo apt-get update
Install it
$ sudo apt-get install nxclient nxtunnel-client
Executing the client
Now you can execute the installed client using the following command:
$/usr/NX/bin/nxclient &
This will start the FreeNX client in a GUI, and step you through getting connected to the FreeNX server, and you will be on your way!
FreeNX on PowerPC
There are no precompiled binaries of FreeNX on this platform, so FreeNX have to be compiled from source. Sources can be found in a Debian/Sarge repository. Check the following link for details:
* [http://stateless.geek.nz/2005/06/27/building-freenx-04-on-ubuntu-hoary/]
References
[http://en.wikipedia.org/wiki/FreeNX FreeNX on Wikipedia]
[http://www.ubuntuforums.org/showthread.php?t=1968 Ubuntu forum FreeNX howto]
[http://gentoo-wiki.com/HOWTO_FreeNX_Server FreeNX on Gentoo wiki]
[http://fedoranews.org/contributors/rick_stout/freenx/ FreeNX of Fedora]