If you've ever done remote support professionally or out of familial obligation, then you've been on a call where solving problems are only secondary to the impossible task of visualizing what's actually on your user's screen. How many times have you described complex desktop tasks only to later realize that your user hasn't even turned their computer on yet? Support is important, but the frustration is real, and it's a shared experience for both the people in need of support and the people who graciously try to provide it. I believe it's important for people to perform tasks themselves as a way to learn a new skill, but there's also an argument for observing the way it's meant to be done by an expert. That's what screen sharing is for, and the KDE Plasma Desktop has it built-in.
The Plasma Desktop uses a point-to-point invitation model for screen sharing. The user launches an application, which starts a Virtual Network Connection (VNC) server, at which point the support person is able to view and even control the computer remotely. If it sounds like this is potentially unsafe, that's because it can be, but for the intervention of firewalls. If you're the support person for somebody who's not on the same network as you, then you must set up a safe pathway from your network to your user's network before screen sharing can work. Ideally, you would do this before emergency strikes:
- Configure the user's router to route the VNC port (5900 by default, but you can use any port you like) to their computer.
- Open a service in the user's local firewall to permit VNC traffic (on the port you specified in the first step).
To start a screen sharing session, the user must start the krfb (that stands for KDE remote frame buffer) application. This starts a VNC server, and creates a temporary password.
The default port krfb uses is 5900, but you can change that if you need to in krfb settings. This is something you probably would want to do in advance, however, so you can avoid trying to explain to your user how to change a protocol's port.
Viewing and controlling
While this window is open, you can log in over VNC using your favorite VNC client. KDE includes the krdc (that stands for KDE remote desktop client) application. On the support computer, launch it and provide it with the destination IP address. When you're prompted for a password, enter the one showing in the krfb session you're connecting to.
Once you've connected, you can view your user's screen, and you can guide them as they follow your instructions. If they're having trouble following your directions, then you can take control of their mouse and demonstrate how something is done. By default, krfb (that's the application they're running) asks them for permission before relinquishing control to you.
Help is on the way
Having the ability to see what your user sees can speed up troubleshooting and lessen frustration on both sides of a support call. Provided that you set up the network for your support in advance, the combination of krfb and krdc are valuable tools for the Linux professional guiding new users through their journey of Linux desktop discovery.