What Is Freenx
What Is Freenx
What Is Freenx
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.
Note: Running FreeNX as server on Ubuntu with the free "NX Client for Windows"
from NoMachine on a Windows workstation is working fine, exceptresuming sessions.
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 theServer. The name of the
Ubuntu package providing the client is "nxclient". For the example used here, the work computer is
the client.
What is neatx
neatx is a similar system to FreeNX, produced by Google.
It's Open Source, secure (SSH based), but does have some feature drawbacks compared to
FreeNX. License: GPL2
Installation Prerequisites
Before installing FreeNX server make sure you have SSH set up and is working. You can find the
SSH Howto here:https://help.ubuntu.com/community/SSHHowto
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.
FreeNX is not included in Ubuntu, so we'll add it from the FreeNX Team PPA. This step will be in the
installation instructions for your Ubuntu distribution of choice below.
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.
Installing the FreeNX server on Ubuntu Maverick Meerkat (10.10)
Follow the instructions for installing FreeNX on Lucid (10.04) with the added step of modifying the
repository after you have installed it and changing the release from "maverick" to "lucid". Consider
this to be step 1a:
Then continue with remaining steps. There is currently no version for maverick but the lucid version
seems to work.
FreeNX
1010-10-18:8:58PM from [spencerwire] Actually it does work, and you don't need to start the
service as you indicated, because it starts when you connect to the machine. I'm connected
to my work machine right now using exactly the steps I indicated. I did, however, modify the
instructions so that the entire process is in step 1 (1a-1c) so that step two later on would
make more sense.
Installing the FreeNX server on Ubuntu Karmic (9.10) (Also works on Lucid)
Karmic introduces the add-apt-repository command that simplifies most of the work of adding a
third party repository.
Add this repository using the Third-Party Sources Tab in Software Sources. When it asks, Reload
the information about available software. Now you can see and install the freenx package
in Synaptic Package Manager.
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.
Now you can execute the installed client using the following command:
/usr/NX/bin/nxclient &
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]
Miscellany
NX Server Free Edition
NX Server Free Edition provided by NoMachine is not related to FreeNX. NXSFE has a limit of 2
sessions per server. FreeNX doesn't have this limit.
FreeNX on PowerPC
There are no precompiled binaries of FreeNX on this platform (Launchpad PPA doesn't provide
support), so FreeNX have to be compiled from source. Sources can be found at the FreeNX Team
PPA.
These steps will build FreeNX from source (you need to add the deb-src repository):
This will download the source tarballs and build the freenx packages (*.deb) in the current
directory.
Find
Port 22
and change it to
Port 8888
/etc/init.d/ssh restart
FreeNX should detect the SSHD port, but otherwise: Edit the file /etc/nxserver/node.conf
Find
To change the default keys to your own custom keys - on the machine hosting the freenx-server, run
the command:
This will launch a dialogue that will guide you through the generation of custom keys. On the first
page hit 'OK' and on the second page select 'Create new custom keys'
Now, we need to transfer the key to the client machine so that it can be imported in the FreeNX
client application. First copy the key to your home directory on the server machine:
sudo cp /var/lib/nxserver/home/custom_keys/client.id_dsa.key ~/
Next, copy client.id_dsa.key to your client machine. Ideally you should copy the file securely, for
example by running the following command from the client computer:
scp user@freenx-server:~/client.id_dsa.key ~/
which will securely copy the client.id_dsa.key file from the freenx-server computer to your home
directory on the client.
If your client is a Windows machine, just copy the key with your preferred method.
After you have tested that authentication is working using your custom keys you should then remove
the client.id_dsa.key file from your home directories on both the server and client machines.
Objective:
Custom Keys.
User ID and Password.
deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu lucid main
deb-src http://ppa.launchpad.net/freenx-team/ppa/ubuntu lucid main
You can add them from Menu > System > Administration > Software Sources
Click the Other Software Tab > Click Add and paste each line separately.
sudo vi /etc/apt/sources.list.d/freenx
i (insert) > paste
esc > :wq
ls -l /usr/lib/nx/nxsetup
Get NXSETUP
Unpack it:
In Nautilus,navigate to where you downloaded nxsetup > right click on the file to get the context
menu, and then select Extract Here
At the terminal:
Install it:
Now, since i opted to use 'PASSDB' as the authentication method, the following also has to be done:
ENABLE_PASSDB_AUTHENTICATION="1"
sudo vi /etc/ssh/sshd_config
i (insert)
AllowUsers nx jra
sudo /usr/lib/nx/nxkeygen
/var/lib/nxserver/home/.ssh/client.id_dsa.key
on their computers.
Now securely transfer the file from the freenx-server, to home directory on your client machine.
scp source destination
wget http://64.34.161.181/download/3.4.0/Linux/nxclient_3.4.0-7_i386.deb
Next:
Select Next when finished.
Next:
Click Finish.
In the advanced dialog window under the General Tab, you should see the items you have already
entered, and to the right ofRemember my password there is a Key... button.
Now, Click the Import button, navigate to the directory where you saved the client.id_dsa.key file
you copied from the server, and select it to open and import the key. You show now see the custom
keys which should be different from the initial default key.
Login: User ID
Password: Blank
Session: session name
Just enter the password you added too the nxserver database, Click Login, the nxclient will make's
the connection, and once there are no errors, you should be on your remote machine.
If your client is a Windows machine, just copy the key with your preferred method.
After you have tested that authentication is working using your custom keys you should then remove
the client.id_dsa.key file from your home directories on both the server and client machines.
Troubleshooting
Problem: Everything is installed as described above, but I still get errors at installing nxsetup
--install
Solution: Check that this line exists in /etc/ssh/sshd_config "AllowUsers nx" and this line
also exists and is set toauthorized_keys2 "AuthorizedKeysFile %h/.ssh/authorized_keys2",
if commented, just uncomment them. after that run this command in a
terminal sudo /etc/init.d/ssh restart .This issue is due custom SSH server
configuration.
Problem: At the client, the !M logo window appears, but after a few seconds that window just
closes, even without showing any error message.
Solution: In the server, access your home directory and run this
command, sudo rm .Xauthority* followed bytouch .Xauthority and
finally chmod 600 .Xauthority . This issue is due custom VNC configuration.
Problem: What can I do if I get the error 'Could not yet establish the connection to the
remote proxy' ?
Solution: This commonly happens when the Advanced tab configuration option "Disable
encryption of all traffic" has been selected, but the appropriate firewall ports have not been
opened. Open the necessary firewall ports, or uncheck the option to re-enable encryption
over SSH. NoMachine knowledge base article
Problem: NX Client connects and displays the desktop but the screen does not refresh.
Solution: Set Disable Direct Draw for screen rendering in the client's advanced
configuration tab.
Problem: NX Client authenticates user NX and tries to authenticate normal user but then
fails with:
References
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), 8.10 (Intrepid) or 9.04 (Jaunty)
Seveas' Packages FreeNX old repository
Ubuntu Forums HowTo FreeNx How to remote desktop using SSH and FreeNX - OpenGL
Seveas Repositories
Ubuntu Forums Install FreeNX in Ubuntu 10.4 Lucid
From the CentOS Wiki
Related docs
You can also have a look at the article about installing the NX packages provided by NoMachine
company
The same should be done on gnome side, for vino and vinagre.
NXLaunch is another solution and could possibly be integrated in other Remote Desktop clients.
CategoryInternet CategoryNetworking CategoryNetworking CategoryInstallation
Page History