NX Web Companion
NX Web Companion is a small Java applet that can be easily integrated into your Web server to give your users one click access to server resources (data, applications, desktops) via a preconfigured NX session. No need for the end-user to configure the session.
Hardware requirements for server
- 400 MHz processor
- 128 MB RAM
- 15 MB free disk space on your hard drive
- Network connection (either a LAN, or Internet link: dial-up (minimum 33.6 Kbps modem), broadband, cable, DSL, etc...)
Browser requirements for client
- Internet Explorer 5/6/7
- Firefox 1.x/2.x/3.x
- Safari 1.x/2.x/3.x or any browser compatible with the Java 1.2 specification.
Forward Port 22 if server is behind router http://portforward.com
- Apache2 (sudo apt-get install apache2)
- Sun Java6 (sudo apt-get install sun-java6-jre)
FreeNX Server https://help.ubuntu.com/community/FreeNX
NX Client for Linux http://www.nomachine.com/download-client-linux.php
Once you've got all the prerequisits covered we can go ahead and install & setup the Nomachine Web Companion
grab the deb installation file from http://www.nomachine.com/download-package.php?Prod_Id=893
Change your working directory to the location where you saved the package and install it by running from a console:
sudo dpkg -i nxplugin_3.3.0-2_i386.deb sudo cp -a /usr/NX/share/plugin /var/www
Now the last step is to make our session.nxs file. Launch the NX Connection Wizard from Applications->Internet->NX Client For Linux or from a command line with:
- Name your session "session" without the quotes. If you name it something else you'll need to edit the the file /var/www/plugin/nxapplet.html to match it. By default the java applet looks for the session.nxs file.
- Enter the IP Address or Domain Name for your server. this will need to be accessable from the outside world so if your behind a router it will not be 192.168.x.x or 10.0.x.x as those kinds of IPs are intranet (local) addresses only. Check your Router's WAN IP Address and use that number and make sure port 22 is forwarded to your local ip address.
- select Unix/KDE or Unix/Gnome if you want to start a new remote desktop, otherwise select Shadow if you want to control the existing desktop session on the server. (this allows the user physically sitting at the keyboard of the server to view and/or interact with the desktop as the same time as the remote user)
- select the size of your desktop, click Next, then Finish.
* Note Under advanced settings do not enable multimedia support as it is for ESD and ubuntu uses Pulseaudio by default.
Now enter your username and password to test to see if its working locally. If you logged in successfully then you have a good working session.nxs file and now we can copy it to the public folder in apache2 with the terminal command:
sudo cp ~/.nx/config/session.nxs /var/www/plugin/session/session.nxs
The final step is to set the permissions for the file with:
sudo chmod 755 /var/www/plugin/session/session.nxs
Now the moment of truth, where all of our hard work pays off. launch your web browser from a remote computer outside of your network and point it to http://yourwebsite/plugin/nxapplet.html
It should prompt you to download a java applet for either Linux, MacOS, Solaris, or Windows. Enter your username and password and you should (hopefully) log into your system remotely.
- Note 1 - java applet crashes in Windows using Internet Explorer 8 (is anyone really surprised?)
- Note 2 - firefox in ubuntu needs a symbolic link for the JRE to run properly:
ln -s /usr/lib/jvm/java-6-sun-184.108.40.206/jre/plugin/i386/ns7/libjavaplugin_oji.so ~/.mozilla/plugins
NX Web Companion Installation and Configuration Guide http://www.nomachine.com/documents/plugin/install.html