FreeNX
Size: 1000
Comment:
|
Size: 6822
Comment: Added info from http://ubuntuforums.org/showthread.php?t=97277
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
''This page will describe how to get FreeNX server working on ubuntu.'' | [http://freenx.berlios.de 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. This page will describe how to set up a FreeNX server and a client on Ubuntu systems, for the above example usage. See FreeNxIntegration for how FreeNX can be incorporated into Ubuntu. |
Line 3: | Line 3: |
Add these to {{{/etc/apt/sources.list}}} {{{ deb ftp://ftp2.caliu.info/backports/ hoary-backports main universe multiverse restricted deb ftp://ftp2.caliu.info/backports/ hoary-extras main universe multiverse restricted }}} ''Note: Some people will tell you to add kanotix as a source. Do not do this. It is depreciated'' |
== Terminology == |
Line 10: | Line 5: |
Update your sourced {{{sudo apt-get update}}} Install it{{{sudo apt-get install freenx}}} |
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. |
Line 13: | Line 7: |
''Unless you are overly concerned with security, you should choose the nomachine key during the install'' | 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. |
Line 15: | Line 9: |
Add a user {{{nxserver --adduser <Username> }}} Set a password {{{nxserver --passwd <Username> |
== 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. For Ubuntu 5.10 and 6.06, there are prebuilt packages available. Several mirrors can be found at: {{{http://seveas.ubuntulinux.nl/}}}. After you add the repository, refresh your package information and then install the {{{freenx}}} package. During installation you will be given the option to select NoMachine keys, or custom keys. It is easier to select NoMachine keys. ''There is absolutely NO added security risk involved in using the default keys. 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 defining custom keys; see below. === Configuring SSH === It is now necessary to check some settings of the ssh subsystem, by editing the /etc/ssh/sshd_config file: 1. Make sure public key authentication is turned on. Check the sshd_config for the line "PubkeyAuthentication yes" 1. The Ubuntu forums howto says to modify the "AuthorizedKeysFile" line in "AuthorizedKeysFile %h/.ssh/authorized_keys2" (default is "%h/.ssh/authorized_keys"). I'm not sure whether this is strictly necessary, or even why it would be done. 1. By default, sshd should allow every system user to access the system. If your system is configured differently, please add (or modify) the "AllowUsers nx" line to allow the nx user to access. I think you can use the "user@host" syntax for this sshd parameter to limit hosts from which users can logon via NX. If you have made any change to the sshd_config, restart the ssh daemon with {{{sudo /etc/init.d/ssh restart}}} Also, by default, 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/ssh/sshd_config Find {{{ Port 22}}} and change it to {{{ Port 8888}}} Edit the file /etc/nxserver/node.conf Find {{{ # The port number where local 'sshd' is listening. #SSHD_PORT=22 |
Line 20: | Line 45: |
You should be able to access your ubuntu box from a Windows box using the free client from [http://nomachine.com NoMachine's website] | 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 NX 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 NX client on a Ubuntu machine. For the example covered in this article, the client is the work computer. The repository for the client is the same as for the server. Several mirrors can be found at {{{http://seveas.ubuntulinux.nl/}}}. After you add a mirror to your sources, refresh your package list and install the {{{nxclient}}} package. 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! == Miscellany == === FreeNX on PowerPC === There are no precompiled binaries of FreeNX on this platform, so FreeNX have to be compiled from source. Sources for breezy can be found in this repository: {{{ deb-src http://seveas.ubuntulinux.nl/ breezy-seveas freenx}}} These steps will build FreeNX from source: 1. Create a directory to hold the FreeNX source, and cd into it. {{{ mkdir freenxSource; cd freenxSource}}} 1. Build the freenx pacakges and install related packages. {{{ sudo apt-get build-dep nx freenx apt-get -b source nx freenx}}} This will download the souce tarballs and build the freenx packages (*.deb) in the current directory. 1. Install the FreeNX packages. {{{ sudo dpkg -i *.deb}}} 1. If 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 nxserver --stop }}} (Replace --stop by --start for starting it again) |
Line 23: | Line 97: |
=== Troubleshooting === * If you encounter problems with icons when loggin multiple times with the same user in a gnome session, run gnome-settings-daemon. Let it run at every login (gnome->preferences->sessions). === Using custom SSH keys === /!\ This is NOT supported by the FreeNX developers - only do this if you have no other option 1. Generate the DSA private-public key pair. {{{ ssh-keygen -t dsa}}} By default this key is places in ~/.ssh/id-dsa. You can leave the passphrase empty, this will not pose a security risk. 1. 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}}} 1. 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. |
|
Line 24: | Line 111: |
* [http://www.ubuntuforums.org/showthread.php?t=1968 Ubuntu forum FreeNX howto] * http://gentoo-wiki.com/HOWTO_FreeNX_Server |
* [http://en.wikipedia.org/wiki/FreeNX FreeNX on Wikipedia] * [http://mirror.ubuntulinux.nl FreeNX repository] ---- CategoryDocumentation |
[http://freenx.berlios.de 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. This page will describe how to set up a FreeNX server and a client on Ubuntu systems, for the above example usage. See FreeNxIntegration for how FreeNX can be incorporated into Ubuntu.
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. For Ubuntu 5.10 and 6.06, there are prebuilt packages available. Several mirrors can be found at: http://seveas.ubuntulinux.nl/. After you add the repository, refresh your package information and then install the freenx package.
During installation you will be given the option to select NoMachine keys, or custom keys. It is easier to select NoMachine keys. There is absolutely NO added security risk involved in using the default keys. 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
Configuring SSH
It is now necessary to check some settings of the ssh subsystem, by editing the /etc/ssh/sshd_config file:
Make sure public key authentication is turned on. Check the sshd_config for the line "PubkeyAuthentication yes"
The Ubuntu forums howto says to modify the "AuthorizedKeysFile" line in "AuthorizedKeysFile %h/.ssh/authorized_keys2" (default is "%h/.ssh/authorized_keys"). I'm not sure whether this is strictly necessary, or even why it would be done.
By default, sshd should allow every system user to access the system. If your system is configured differently, please add (or modify) the "AllowUsers nx" line to allow the nx user to access. I think you can use the "user@host" syntax for this sshd parameter to limit hosts from which users can logon via NX.
If you have made any change to the sshd_config, restart the ssh daemon with sudo /etc/init.d/ssh restart
Also, by default, 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/ssh/sshd_config
Find
Port 22
and change it to
Port 8888
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 NX 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 NX client on a Ubuntu machine. For the example covered in this article, the client is the work computer. The repository for the client is the same as for the server. Several mirrors can be found at http://seveas.ubuntulinux.nl/. After you add a mirror to your sources, refresh your package list and install the nxclient package.
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!
Miscellany
FreeNX on PowerPC
There are no precompiled binaries of FreeNX on this platform, so FreeNX have to be compiled from source. Sources for breezy can be found in this repository:
deb-src http://seveas.ubuntulinux.nl/ breezy-seveas freenx
These steps will build FreeNX from source:
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 freenx
This 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
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 nxserver --stop
(Replace --stop by --start for starting it again)
Troubleshooting
If you encounter problems with icons when loggin multiple times with the same user in a gnome session, run gnome-settings-daemon. Let it run at every login (gnome->preferences->sessions).
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 dsa
By 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.
References
[http://en.wikipedia.org/wiki/FreeNX FreeNX on Wikipedia]
[http://mirror.ubuntulinux.nl FreeNX repository]
FreeNX (last edited 2008-08-06 16:28:22 by localhost)