I wanted a remote graphical environment on a machine in the cloud. It’s very easy to download No Machine’s 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.
Note that you can’t use Ubuntu’s Unity desktop with NX, so you’ll have to install an alternate desktop environment and update your NX configs.
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