Remote desktop software allows a user on one computer to take control of a remote computer. Typical uses include remote administration or support, and presentation.
TODO: General cleanup. Clearly distinguish between examples of protocols, servers, and clients. Add that client software comes in backends and frontends. This will add a lot of complexity to this article; search for a way to minimize the complexity. Begin to document what versions of Windows have RDP server (Win7 x64 Home Premium does, despite ubiquitous claims to the contrary on the web). On my Windows security article, add a paragraph on insuring that Windows has RDP server disabled: despite claims to the contrary, I have encountered many Windows installations with users unaware that RDP is enabled.
Remote desktop software uses a client-server model. Server software runs on the computer to be viewed or controlled, allowing others to access it. Client software runs on another computer in order to view or control the server.
The client and server exchange data using an underlying protocol. Just as there are many clients and servers, there are many protocols. Naturally client and server need to use the same protocol. I prefer multi-protocol clients, so I only have to install and configure and learn a single client regardless of how many protocols I connect to.
Confusingly, each provider has its own terminology for what I call protocols, servers, and clients, but they all use the same concept if not the same language to describe it. If doing a detailed comparison you might find it helpful to develop a cross-provider glossary to insure you are comparing apples to apples.
Some providers offer all-in-one bundles of client and server, invariably using their own proprietary protocols. While convenient, they are closed ecosystems and so are best avoided. I list a few below for completeness, not as recommendation.
In evaluating remote desktop software, I look for:
- Open source applications and protocol
- Multi-platform solutions
- Multi-protocol clients
- Flexibility in server configuration, allowing either high security or unfettered anonymous access according to need
- (for remote support) Ease of installation of the server: if the user requires remote support, he is unlikely to be up to configuring complicated software
NX is open, needs little bandwidth, and flexible. Runs over SSH, so it is highly secure. Most reviewers describe it as significantly faster than VNC under typical use cases. Desktop sharing available since 3.0. Open source servers and clients exist for multiple platforms.
Remote Desktop Protocol (RDP). Microsoft; proprietary. Open source clients exist for many platforms, and at least one open source server exists for *nix.
Remote Framebuffer (RFB) is the protocol emeritus. Used as the basis of VNC, it is sometimes misnamed VNC protocol. Multi-platform, mature, open source; many clients and servers. Has a reputation for needing lots of bandwidth. Allows for desktop sharing.
NX Free is the reference server from the developers of the NX protocol. Open source; a more full-featured proprietary server is also available.
NX Client is the reference client from the developers of the NX protocol. Open source. Can also connect to RFB and RDP servers.
Not full featured remote desktop software and I wouldn’t install it for that feature, but the application does include a screen sharing function that may be adequate for some uses.
Proprietary; no charge for noncommercial use. Multi-platform. Reputed to be easy to install and use.