Download the authoritative guide: Cloud Computing 2019: Using the Cloud for Competitive Advantage
Ask any long-term Linux enthusiast, and they'll be the first to tell you there isn't much you can do with another operating system that you can’t do with Linux. Oh sure, there are always going to be those legacy applications that some may people depend on. For the most part though, everything you need is readily accessible with today's modern Linux distros.
One of my favorite examples of desktop Linux readiness is the various options available to control a computer remotely. Despite what newer Linux users might think, there are indeed a number of open source and closed source options available for remote PC access. In this article, I'll be exploring the best of both options from each sector of software licensing.
Vinagre (VNC based): My go-to application for running local VNC based connections tends to be Vinagre. It's simple and it provides a very consistent experience on the GNOME desktop. Some of the best features of using Vinagre include the following.
- Connect to multiple PCs at once. If you're bouncing between computers, this is can be very helpful.
- Vinagre remembers your last connection(s). Forget about looking up the last machine you connected to, let Vinagre do it for you.
- Browsing for PCs made easy thanks to the network discovery options.
- GNOME keyring compatible; no more entering your password each and every time.
- Accepts reverse connections. This is helpful when offering remote support on your LAN or when you're behind a firewall.
- With SSH setup ready to go, you can also use a terminal window to run Vinagre with SSH.
KRDC (VNC/RDP based): Next up, we have a great KDE application that mirrors the same functionality as Vinagre. The great thing is that KRDC feels very natural to anyone who has used Vinagre previously. The features of KRDC include the following.
- Connect to multiple PCs at once. KRDC supports this very nicely.
- Remembering your previous connections. The easiest approach is to use the bookmark option for KRDC.
- Very simple access to network browsing. If there are PCs with the right VNC port open, KRDC will see them and allow you to connect.
- Use SSH, to connect to other PCs securely with a terminal and KRDC.
For those of you wanting more from your remote control applications, the Linux desktop delivers here as well. Below you’ll find more advanced solutions that offer greater functionality for the more advanced enthusiast.
Remmina (RDP, VNC, NX, XDMCP, SSH, Telepathy based): Widely considered to be the go-to remote application among many Linux users, Remmina offers support for a multitude of remote access protocols. This GTK based application also has the slickest support for SSH, because it's built very tightly, right into the application. Features that Remmina offers include the following.
- A tabbed user interface. This is handy for keeping track of everything.
- A smart tray icon, which makes switching from one connection to another a simple endeavor.
- Provides smooth controls for SSH integration. Just select VNC, then tab over to SSH and setup accordingly.
- Offers a floating toolbar when in full screen. This is helpful, when you're working with limited screen real estate.
- With server settings manually setup, the listing for each is easily accessible.
SSH with X11 Forwarding (SSH): Over the years, I've come to use SSH with X11 forwarding less than I once did. Not because there is anything wrong with it, rather because my own personal needs have been largely met by merely using other clients. That said, there is something inherently fascinating about running this software program. The features of using this option are as follows.
- You can run many programs such as FTP, email and other software from other PCs as if it was run locally. For example, you can use SSH with X11 forwarding to run xclock on the remote PC, but it will visually appear as it was run locally. This is a great way to access specific applications remotely, without accessing the entire remote desktop.
- With compression enabled, this option can provide a better user experience than merely running access to the remote desktop. Since it's only a single application being accessed, the bandwidth may be less likely to bottleneck on you.
The next set of applications happen to run on Linux, however they're considered proprietary and offer Linux support as a secondary option. I have used both extensively and each offers different benefits that will meet with the needs of most people. Both are setup for providing remote PC support to anyone on any of the three popular desktop platforms.
TeamViewer (Wine/proprietary): If you're trying to provide remote support for friends/family/co-workers who happen to be using proprietary desktop operating systems, TeamViewer is the way to go. The software is dead-simple to install on any platform, plus it works really well behind firewalls. Features for TeamViewer include the following.
- Connecting to a remote user needing assistance is as simple as entering in a set of numbers.
- Access a remote PC with great connectivity and speed. Even works well on slower DSL connections.
- Provide remote support using your smartphone or tablet! TeamViewer has great Android tablet and phone support.
- File sharing support. TeamViewer offers fairly decent file sharing abilities, even across different platforms.
Chrome Remote Beta: (Chrome Browser/proprietary): The Chrome Remote Beta extension offers a simple means of controlling another PC remotely. The biggest downside to it, however, is the fact that it locks you into a browser setting. On top of that, it may not be the best option for enterprise environments. But through my own tests, I'd suggest that it's a natural fit for many smaller businesses looking to offer quick desktop support. Below, are the features you'll find with this Chrome extension.
- Share or access remote PCs, through firewalls without any problems.
- The extension is simple enough that a user of any skill level should be able to run it.
- Provides a solid, yet simple help desktop solution for smaller businesses.
- Uses one-time authentication codes, so any potential risk of exploitation is minimized.
- One installation works the same on all platforms. If you can run Chrome, this extension will work for you.
So after examining all of these options, which remote desktop solution is the best? Based on my own usage, I think it comes down to what you're looking for. For help desktop solutions, the Chrome Remote Beta extension is by far the easiest to use. It's fast and brain-dead simple to run.
Looking at remote access for a single user, however, I would suggest looking into Remmina. It's fairly robust and will provide you with a number of great options. Unfortunately, none of these are going to be the ultimate solution for every instance. Some enterprise users may actually find themselves in a better position using something like NoMachine's NX client/server. A bit complex for some users, NX does offer some interesting perks for enterprise situations. It's considered enterprise-friendly and might be the best fit of all.