- 论坛徽章:
- 0
|
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: Running FreeNX as server on Ubuntu with the free "NX Client for Windows" from
NoMachine
on a Windows workstation is working fine.
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.
Installation
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
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.
FreeNX is not included in Ubuntu, so we'll add it from the
FreeNX Team PPA
.
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
.
Alternatively, you can edit the configuration files and install by hand:
Open your apt sources list
gksudo gedit /etc/apt/sources.list and append the two lines for the repository
deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu VERSION main
deb-src http://ppa.launchpad.net/freenx-team/ppa/ubuntu VERSION main where VERSION can be: dapper, hardy, intrepid or jaunty. More information can be found at
FreeNX Team PPA
.
Save and then close. To add the public key of FreeNX PPA run:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2a8e3034d018a4ceThen Update Apt
sudo apt-get updateAfter you add the repository, then install the freenx package (using Aptitude to install extra needed packages).
sudo aptitude install freenxNow use nxsetup to install necessary files and create the special user "nx"
sudo /usr/lib/nx/nxsetup --install 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 NX Client
The official NX client is not in the Ubuntu repositories.
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 &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
]
Installing QTNX (Opensource client)
sudo apt-get install qtnx
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):
Create a directory to hold the FreeNX source, and cd into it.
mkdir freenxSource; cd freenxSourceBuild the freenx packages and install related packages.
sudo apt-get build-dep nx freenx
apt-get -b source nx freenx This will download the source tarballs and build the freenx packages (*.deb) in the current directory.Install the FreeNX packages.
sudo dpkg -i *.debIf dpkg complains about missing packages, let apt fix it
sudo apt-get -f install
sudo dpkg -i *.deb
How to start/stop FreeNX
The FreeNX server is not a service but uses ssh. The following command will stop the FreeNX program from accepting connections.
sudo /etc/init.d/freenx 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
Port 8888You then need to restart SSHD. Try
/etc/init.d/ssh restartFreeNX should detect the SSHD port, but otherwise: Edit the file /etc/nxserver/node.conf
gksudo gedit /etc/nxserver/node.confFind
# The port number where local 'sshd' is listening.
#SSHD_PORT=22and change it to:
# The port number where local 'sshd' is listening.
SSHD_PORT=8888That is, change the port number to the one that sshd is listening to, and uncomment the line.
Using custom SSH keys
After
installation, FreeNX will use a set of default ssh keys for
authentication. This is a security risk, especially on any
internet-facing machines, and the default keys should be replaced with
your own custom keys.
To change the default keys to your own custom keys - on the machine hosting the freenx-server, run the command:
sudo dpkg-reconfigure freenx-serverThis 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'
a key file called client.id_dsa.key will be created in: /var/lib/nxserver/home/custom_keys/
First copy the key to your home directory:
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.
In the nx client software you can now import this key.
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.
References
Related docs
You can also have a look at the article about installing the
NX packages provided by NoMachine company
Desktop integration wanted
For those
who wan't to have freenx supported in krfb, krdc, log into
bugs.kde.org, and add a comment and vote for the following bugs
(wishlist) :
187310
: nxserver support in krfb
149482
:nx support in krdc (client), it seems that work is already in progress, and there only a few problems left.
The same should be done on gnome side, for vino and vinagre.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/16464/showart_1980645.html |
|