VNC via Vino in Gnome
Assuming you use Ubuntu with the Gnome desktop and not some variant like Kubuntu or Xubuntu, the absolute easiest remote access to set up has got to be VNC via Vino. To enable this, click System->Preferences->Remote Desktop. Check the box to allow remote connections and connect via a vncviewer application from another Linux box, OS X, or Windows. If you’re behind a router, just forward port 5900. The VNC downsides are numerous. The first problem is that VNC is not an encrypted connection. All keystrokes are sent in plain text and if this goes through untrusted internet, it’s just not a good solution. The second issue we run into is that if you leave your house and mean to access your own PC, you have to leave it logged into the Gnome session. You can’t logout. Another user can’t be logged in. You just need your desktop sitting there open to the world that walks by. Again, if this is your home PC, it’s probably not a deal breaker, but if it’s an office PC, who wants to leave their email and applications ready for others to see. Furthermore, when you do login with VNC and if someone is sitting in front of your PC, they see everything you type! Where’s the security in that? VNC is quick and easy, but insecure for everyday use.
Long-time Linux users and really anyone who can work a terminal admire and revere SSH for all it can do. SSH gives you a shell where you can access any term-based application via an encrypted channel. Furthermore, if you enable SSH on Ubuntu, you get the handy filesystem access via SFTP which is just as effective as VPN for remote file access.
To install in Ubuntu 7.10, click here. If you’re behind a router, forward port 22 to your machine.
SSH + VNC
So VNC would be great if it wasn’t so damn insecure right? Hmm… SSH has “secure” in the acronym. Yes, many have figured out that you can make an SSH tunnel. I use this pretty often. Since I work on Windows PCs everyday, it’s just very convenient to carry a USB flash drive with “vncviewer.exe” and “putty.exe” on it. Both of these are portable applications that you only need the .exe for and can be run from a flash drive. All you need is to set up the SSH server, configure VNC access, and only forward port 22.
When you use putty on a windows machine, there’s an option “tunnel” where you can set 5900 as the port to tunnel to localhost:5900. Once the putty connection is established, fire up vncviewer and connect to “localhost” and you should either be connected or prompted for a password, depending on how you set up Gnome’s remote desktop.
Not free, but not compared to. NoMachine software is everything I wanted and more. It is as featureful as Windows Remote Desktop without all of the licensing annoyances. To get started, go to NoMachine.com and download and install these three .debs. Install these via double-clicking, dpkg via term, or however you like to install .debs. Once this is done, NoMachine works utilizing your already existing SSH server. It just piggybacks on port 22 alongside your SSH access giving you full-fledged GUI control if you like.
You can connect to the currently open GUI that the person sitting in front of your PC would see, or you can connect to a new virtual desktop that wouldn’t show your mouse moving remotely. This is the security that VNC lacks! Even with SSH access, VNC cannot be a virtual desktop and/or the live screen. With VNC, you can either choose to always be virtual or always be the live screen when you set up the server. WithNoMachine, that option is on the client side! Huzzah!
The only downside to NoMachine is that the client is not “portable” like vncviewer.exe and putty.exe, but the client is cross-platform, easily, and freely installed. Since it’s not free-libre-opensource-gnu-gpl-style it can’t be included with Ubuntu, but its binary is free to download and use and works oh so well. Try it out!