Remote maintenance Raspberry Pi and remote desktop with VNC, RDP and SSH
here are several ways to remotely control a Raspberry Pi. Remote maintenance or remote service is generally possible via command line (SSH) or desktop sharing (VNC, RDP). Which solution to choose depends on your own requirements.
All solutions have in common that one does not sit directly on Raspberry Pi with a screen, keyboard, and mouse, but operates from a remote computer. You can do that with a desktop PC, notebook, tablet or smartphone.
Remote maintenance and remote service are common names for applications and services that enable the remote operation of computers and software.
Remote Desktop and Desktop Sharing are terms for providing a desktop or graphical user interface to a remote user. While Remote Desktop simply offers a graphical user interface, Desktop Sharing refers to sharing the current view of the screen with a remote user. Only with desktop sharing you can see what’s happening on the current screen. You can practically look over the shoulder of a remote user. Mostly this is used for user support.
Overview: Solutions for remote maintenance or remote desktop
- Command line via SSH
- Graphical user interface via SSH
- Virtual Desktops via VNC with TightVNCServer
- Set up VNC server over a secure SSH connection
- Remote support of the current desktop via VNC with X11VNC
- Set up desktop sharing via VNC with RealVNC
- Remote Desktop via RDP
Which remote desktop solution is the best?
Remote desktop solutions include VNC, X11VNC, X-Forwarding and RDP. Which one is the best? If you come from the Windows world, then it is fastest with RDP. But you have to do without the presentation of the current desktop. Outside the Windows world, the alternatives are VNC and X-forwarding.
But when it comes to desktop sharing the current desktop, then you can not get around to X11VNC and RealVNC. However, you have to differentiate here. X11VNC is a universal solution that works on all Linux systems. RealVNC is recommended on Raspberry Pi with Raspbian because it is optimized for use with limited hardware.
Solution 1: Command line via SSH
For remote maintenance via command line, an SSH server can be activated in the Linux distribution Raspbian. In order to establish a connection to a Raspberry Pi via SSH, all you need is an SSH client and the host name or IP address of Raspberry Pi. For computer systems with macOS and Linux, an SSH client is already integrated on the command line. Here you only have to call a terminal program. With Windows you can install “PuTTY” later.
Solution 2: Graphical User Interface via SSH
If you do not like the use of the command line, then you can also connect via SSH with a graphical user interface of Raspberry Pi. However, you do not get the current desktop, but your own.
Solution 3: Virtual Desktops via VNC with TightVNCServer
VNC is a way to use virtual desktops provided by VNC servers. In other words, you connect to a VNC server with a VNC client and get a desktop from this system that you can use to work like in your own system.
In the Linux environment, there are some VNC servers. Many tutorials and tutorials use TightVNCServer. He is extremely slim and can be set up quickly.
Solution 4: Set up the VNC server over a secure SSH connection
VNC transmits the data basically unencrypted. Also the VNC password. This is less of a problem within a local network. It is negligent if you build the transmission over the Internet. For security reasons, you should run a VNC session over an SSH tunnel.
Solution 5: Remotely support the current desktop via VNC with X11VNC
All previous solutions have the disadvantage that they provide a virtual session and not the current desktop on Raspberry Pi. But if you want to see and control the current desktop, because you want to see a person sitting on Raspberry Pi from a distance over the shoulder ( Remote support), you need another VNC server. For this X11VNC is better suited. He has the peculiarity that he not only virtual desktops, but also the current desktop can transfer.
Solution 6: Set up desktop sharing via VNC with RealVNC
The Raspbian image comes with RealVNC as a VNC server, which only needs to be activated with a configuration tool. Then it will start automatically.
Solution 7: Remote desktop via RDP
In the Windows world, VNC is less common. This is called remote desktop support via RDP. If you’re working with Windows clients, setting up an RDP server on Raspberry Pi is a viable alternative to VNC.