Having a number of machines at different locations makes control, sync, or special process creation a difficult task depending on the circumstances. Many times you just want to take control of the remote machine and administer it using a GUI like you would do if seating in front of it. This was my case the last couple of days. After trying some VNC related solutions I got a bit frustrated configuring or setting them up. Fortunately I found the easiest solution in NoMachine‘s NX. In its simple form the application is based on the client-server model, with the server being installed on the remote end and client on the local workstation.
Let’s see it in action. The following guide assumes that the remote machine is running a Linux GUI distro with a firewall that allows inbound and outbound connections and the local machine is running Microsoft Windows.
1. First of all you need to login to the remote machine via SSH, meaning that you have already installed an SSH server (like OpenSSH) on it, and you have an SSH client on your local machine like PuTTY. Otherwise, if your remote machine is virtualized and hosted by a provider that allows some kind of web-console access you can use that as well.
2. While logged in there you proceed to the installation of NX Server using the packages/archives for the NX Free version. In this example I’m using the x86 tar.gz archives. You will need all the files (client, node, server) for the NX Server to work.
$ cd /usr $ wget nxclient-3.5.0-7.i386.tar.gz $ wget nxnode-3.5.0-9.i386.tar.gz $ wget nxserver-3.5.0-11.i386.tar.gz $ sudo tar zxvf nxclient-3.5.0-7.i386.tar.gz $ sudo tar zxvf nxnode-3.5.0-9.i386.tar.gz $ sudo tar zxvf nxserver-3.5.0-11.i386.tar.gz $ sudo NX/scripts/setup/nxnode --install $ sudo NX/scripts/setup/nxserver --install
3. (Optional) If you want to be able to login to the remote machine as root, you will have to edit the configuration file located at: “/usr/NX/etc/server.cfg”. There you must uncomment line 87 and change the EnableAdministratorLogin value to 1. Don’t forget to restart the “nxserver” service (sudo service nxserver restart) for the changes to take effect.
4. Return to the local machine and install the NX Client application. Start the “NX Connection Wizard” and input all the required values.
That’s it, you are ready 🙂