Remote desktop software
In computing, the term remote desktop refers to a software- or operating system feature that allows a personal computer's desktop environment to be run remotely on one system (usually a PC, but the concept applies equally to a server), while being displayed on a separate client device. Remote desktop applications have varying features. Some allow attaching to an existing user's session and "remote controlling", either displaying the remote control session or blanking the screen. Taking over a desktop remotely is a form of remote administration.

Overview 
Remote access can also be explained as the remote control of a computer by using another device connected via the internet or another network. This is widely used by many computer manufacturers and large businesses help desks for technical troubleshooting of their customer's problems.

Remote desktop software captures the mouse and keyboard inputs from the local computer (client) and sends them to the remote computer (server).
 The remote computer in turn sends the display commands to the local computer. When applications with many graphics including video or 3D models need to be controlled remotely, a remote workstation software that sends the pixels rather than the display commands must be used to provide a smooth, like-local experience.

Remote desktop sharing is accomplished through a common client/server model. The client, or VNC viewer, is installed on a local computer and then connects via a network to a server component, which is installed on the remote computer. In a typical VNC session, all keystrokes and mouse clicks are registered as if the client were actually performing tasks on the end-user machine.

Remote desktops also have a major advantage for security development, companies are able to permit software engineers who may be dispersed geographically to operate and develop from a computer which can be held within the companies office or cloud environment.  

The target computer in a remote desktop scenario is still able to access all of its core functions. Many of these core functions, including the main clipboard, can be shared between the target computer and remote desktop client.

Uses 
A main use of remote desktop software is remote administration and remote implementation. This need arises when software buyers are far away from their software vendor. Most remote access software can be used for "headless computers": instead of each computer having its own monitor, keyboard, and mouse, or using a KVM switch, one computer can have a monitor, keyboard, mouse, and remote control software, and control many headless computers. The duplicate desktop mode is useful for user support and education. Remote control software combined with telephone communication can be nearly as helpful for novice computer-users as if the support staff were actually there.

Remote desktop software can be used to access a remote computer: a physical personal computer to which a user does not have physical access, but that can be accessed or interacted with. Unlike servers, remote computers are mainly used for peer to peer connections, where one device is unattended. A remote computer connection is generally only possible if both devices have a network connection.

Since the advent of cloud computing remote desktop software can be housed on USB hardware devices, allowing users to connect the device to any PC connected to their network or the Internet and recreate their desktop via a connection to the cloud. This model avoids one problem with remote desktop software, which requires the local computer to be switched on at the time when the user wishes to access it remotely. (It is possible with a router with C2S VPN support, and Wake on LAN equipment, to establish a virtual private network (VPN) connection with the router over the Internet if not connected to the LAN, switch on a computer connected to the router, then connect to it.)

Remote desktop products are available in three models: hosted service, software, and appliance.

Tech support scammers use Remote Desktop software to connect to their victim's computer and will often Syskey the computer if the victim does not cooperate.

Protocols 
Remote desktop protocols include the following:
 Apple Remote Desktop Protocol (ARD) Original protocol for Apple Remote Desktop on macOS machines.
 Appliance Link Protocol (ALP) a Sun Microsystems-specific protocol featuring audio (play and record), remote printing, remote USB, accelerated video
 HP Remote Graphics Software (RGS) a proprietary protocol designed by Hewlett-Packard specifically for high end workstation remoting and collaboration.
 Independent Computing Architecture (ICA) a proprietary protocol designed by Citrix Systems
 NX technology (NX) a proprietary protocol designed by NoMachine with open-source derivatives available from other forked projects.
 PC-over-IP (PCoIP) a proprietary protocol used by VMware (licensed from Teradici)
 Remote Desktop Protocol (RDP) a Windows-specific protocol featuring audio and remote printing
 Remote Frame Buffer Protocol (RFB) A framebuffer level cross-platform protocol that VNC is based on.
 SPICE (Simple Protocol for Independent Computing Environments) – remote-display system built for virtual environments by Qumranet, now Red Hat
 Splashtop a high performance remote desktop protocol developed by Splashtop, fully optimized for hardware (H.264) including Intel / AMD chipsets, NVIDIA / ATI GPU & APU, Qualcomm Snapdragon, and NVIDIA Tegra. By optimizing for different profiles of media codecs, Splashtop can deliver high frame rates with low latency, and also low power consumption.
 Xpra a protocol originally developed for forwarding X11 application seamlessly with audio, video, remote printing, etc. - extended to support Windows and macOS servers
 X Window System (X11) a well-established cross-platform protocol mainly used for displaying local applications; X11 is network-transparent
 Wake-on-LAN a standard protocol for remotely waking up computers that are in low-power mode (turned off, but still have access to a power source).

Malicious variants 
A  (, sometimes called ) is a type of malware that controls a system through a remote network connection. While desktop sharing and remote administration have many legal uses, "RAT" connotes criminal or malicious activity.  A RAT is typically installed without the victim's knowledge, often as payload of a Trojan horse, and will try to hide its operation from the victim and from computer security software and other anti-virus software.

Notable examples

 PoisonIvy
 Sub Seven
 Beast Trojan
 Bifrost
 Blackshades
 DarkComet
Back Orifice
Back Orifice 2000

See also 

 Comparison of Java Remote Desktop projects
 Comparison of remote desktop software
 Technical support scam
 Chrome Remote Desktop
 Desktop virtualization
 Extranet
 Remote administration
 Remote desktop protocol
 Virtual Desktop Extender
 Virtual machine
 VDI

References 

Remote administration software
Remote desktop