I wanted a remote graphical environment on a machine in the cloud. It’s very easy to download NX and install it. You’ll also have to run
sudo apt-get install ubuntu-desktop unity-2d gdm if you’re on a server, since the server install doesn’t come with a graphical environment by default.
If you run into a problem with the lock screen rejecting your password then you can fix it with it:
sudo chown root:shadow /sbin/unix_chkpwd sudo chmod 2755 /sbin/unix_chkpwd sudo chown root:shadow /etc/shadow sudo chmod g+r /etc/shadow
If you get the message “Your evaluation period has expired” or similar, you can solve that by uninstalling NX, deleting /usr/NX, and then re-installing /usr/NX
If you get the message “Could not locate the ssh client at ‘C:\Program Files (x86)\NoMachine\bin\nxssh.exe’” then it’s because you’ve installed the free version of NX which does not support SSH, so you’ll need to install the pro version.
To run unity-2d with NX 3, you’ll need to hit “Configure…” and then in the “Desktop” section, select “Unix” and “Custom”, press “Settings…”, choose “Run the following command”, fill in “gnome-session –session=ubuntu-2d”, and set the “New virtual desktop” option.
Securing NX 3
You can increase the security over the default NX installation, by following these instructions :
- Download and install the client, node, and server in that order
- In /etc/ssh/sshd_config add the nx user by setting
AllowUsers nxand restart the ssh daemon sudo /etc/init.d/ssh restart.
- NX uses a deprecated location for the ssh authorized_keys file, so you must fix that or you will get a public key authentication failed error. Open /usr/NX/etc/server.cfg and change
#SSHAuthorizedKeys = "authorized_keys2"to
SSHAuthorizedKeys = "authorized_keys". Now run sudo mv /usr/NX/home/nx/.ssh/authorized_keys2 /usr/NX/home/nx/.ssh/authorized_keys if there’s an authorized_key2 file present.
- Run sudo /usr/NX/scripts/setup/nxserver –install
- If you’ve disabled SSH passwords then you’ll also need to set
EnableUserDB = "1"and
EnablePasswordDB = "1"in /usr/NX/etc/server.cfg and then run sudo /usr/NX/bin/nxserver –useradd $USER since we’ve disabled passwords when we locked down SSH.
- Change the default NX key. Run sudo /usr/NX/bin/nxserver –keygen. In your NX client, open “Configure…” > “General” tab > “Key …” and copy the contents of “/usr/NX/share/keys/default.id_dsa.key” into the key window and save it.
- Optional for connecting to multiple servers at once: Change DisplayBase in /usr/NX/etc/server.cfg.
- Restart the NX server to pickup your changes: sudo /etc/init.d/nxserver restart