- 1 What is FreeNX
- 2 Installation
- 3 Miscellany
- 4 References
What is FreeNX
FreeNX is a system that allows 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. It's Open Source, secure (SSH based), fast and versatile! Note: At present FreeNX is limited to desktops where both local and remote machines are running Linux/Unix. Running FreeNX as server on Ubuntu with the free "NX Client for Windows" from NoMachine on a Windows workstation is working fine.
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. Open your aptitude sources list and append the two lines for the repository.
gksudo gedit /etc/apt/sources.list
For Ubuntu 5.10 and 6.06, they are:
deb http://mirror.ubuntulinux.nl/ dapper-seveas freenx deb-src hhttp://mirror.ubuntulinux.nl/ dapper-seveas freenx
For Ubuntu 7.04, they are:
deb http://mirror.ubuntulinux.nl/ feisty-seveas freenx deb-src http://mirror.ubuntulinux.nl/ feisty-seveas freenx
For Ubuntu 8.04 and 8.10 you could find the necessary information at . Save and then close. For old releases you also have to add the GPG key:
wget http://mirror.ubuntulinux.nl/seveas.gpg -O- | sudo apt-key add -
Then Update Apt
sudo apt-get update
After you add the repository, then install the
sudo aptitude install freenx
(Using aptitude to install extra needed packages) [Note: You can manually perform the setup with: sudo nxsetup --install --setup-nomachine-key] During installation you will be given the option to select NoMachine keys, or custom keys. It is best to select NoMachine keys. For the paranoid: there is an added security risk involved in using the default keys. If you keep the default keys then everybody will be able to connect to your SSH server as the NX user which is added to your system during the installation. This opens an additional (and unnecessary) opportunity to attack your computer. You could avoid it by using custom SSH keys, as explained later. On the server, add your user to nxserver
sudo nxserver --adduser <username> sudo nxserver --passwd <username> sudo nxserver --restart
[Note: I don't know if this is still needed, but it helps - JeremySchroeder]
Installing the NX Client
sudo aptitude install nxclient
You should be able to access your Ubuntu box from any Windows or Linux box using the free client from NoMachine's website. You can also embed your NX Server in a webpage by installing the Nomachine Web Companion and the Apache webserver. (!) Note on nomachine web site there is new version off nxclient version 2.0 and it don't work with freenx so you should better use nxclient from Seveas' Packages! Now you can execute the installed client using the following command:
Or by looking it up in the menu This will start the NX client in a GUI, and step you through getting connected to the FreeNX server, and you will be on your way! [Note: If you are behind a firewall you may need to enable SSL encryption under the Advanced configuration tab - JeremySchroeder] Useful Resource for installing client on 64-bit Ubuntu
Ubuntu 8.04 LTS: Adjust Font Directory
If the nxclient just exits after successful Authentication, it might be, that you have to adjust the position of the X Font Paths: Edit /etc/nxserver/node.conf
Find the following line (around line 371):
And change it to:
FreeNX on PowerPC
- Create a directory to hold the FreeNX source, and cd into it.
mkdir freenxSource; cd freenxSource
- Build the freenx pacakges and install related packages.
sudo apt-get build-dep nx freenx apt-get -b source nx freenxThis will download the souce tarballs and build the freenx packages (*.deb) in the current directory.
- Install the FreeNX packages.
sudo dpkg -i *.deb
- If dpkg complains about missing packages, let apt fix it
sudo apt-get -f install sudo dpkg -i *.deb
FreeNX on 64bit
FreeNX is not 64-bit safe, so you will have to build a 32-bit chroot.
How to start/stop FreeNX
sudo nxserver --stop
(Replace --stop by --start for starting it again)
Configuring SSH port
By default, nxserver uses port 22 for communicating over SSH. On some machines or networks, port 22 may be blocked; some Internet providers block port 22, for instance. Port 22 is also a common target of people trying to crack into a network. To make the SSH server listen on port 8888, you can do the following: Edit the file /etc/ssh/sshd_config
gksudo gedit /etc/ssh/sshd_configFind
Port 22and change it to
You then need to restart SSHD.Try
Edit the file /etc/nxserver/node.conf
gksudo gedit /etc/nxserver/node.confFind
# 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
That is, change the port number to the one that sshd is listening to, and uncomment the line.
Using custom SSH keys
/!\ This is NOT supported by the FreeNX developers - only do this if you have no other option
- Generate the DSA private-public key pair.
ssh-keygen -t dsaBy default this key is places in ~/.ssh/id-dsa. You can leave the passphrase empty, this will not pose a security risk.
- Install the public key in the FreeNX serving machine. The key should be placed in the file authorized_keys2 in the .ssh dir of the user named nx.
cat ~/.ssh/id_dsa.pub | sudo -u nx tee -a ~nx/.ssh/authorized_keys2
- Install the private key in the NX client software. When creating a session, press the button labeled "Key" and select your new key in the window that pops up.
- FreeNX on Wikipedia
- FreeNX project page on BerliOS
- FreeNX Team PPA An up-to-date repository from the FreeNX Team, for Ubuntu 8.04 (Hardy) and 8.10 (Intrepid)
- Seveas' Packages FreeNX old repository
- Ubuntu Forums HowTo FreeNx How to remote desktop using SSH and FreeNX - OpenGL Seveas Repositories
You can also have a look at the article about installing the |NX packages provided by NoMachine company