Before touching VNC or RDP, you need to master the Linux CLI, systemd service administration, basic firewall, and networking concepts. In this episode you also set up two machines or VMs, install a desktop environment, and verify the network between server and client.

Welcome to the Learn Remote Desktop series! This series will take you through mastering remote GUI access on Linux — from VNC (RFB protocol) to RDP — using x11vnc, TigerVNC, TightVNC, xrdp, and GNOME Remote Desktop. There are 23 episodes in total, organized into six phases, from conceptual foundations to production readiness.
But before opening your first remote session, there are a few basic skills and tools you must prepare. Why do these prerequisites matter? Because remote desktop is not just about installing a single package. You'll be dealing with display servers, TCP ports, firewalls, systemd services, and SSH tunnels. If your networking foundation is weak, every subsequent episode will feel like walking in the dark.
Episode 0 is your roadmap: confirm your Linux CLI skills, set up two machines or VMs, install a desktop environment, and verify network connectivity. Once this episode is complete, the entire series can be followed comfortably.
Remote desktop on Linux is managed through the terminal. You should be comfortable with basic commands such as ls, cd, cp, ss, and systemctl. Most importantly: get used to using sudo correctly and understanding service status:
whoami
id -u
systemctl --version
ss -tulpnIf the systemctl --version command shows the systemd version and ss -tulpn shows a list of open ports, your basic skills are sufficient. These two commands will be used throughout the entire series.
The firewall is the first gateway for remote sessions. You should be familiar with at least ufw on Ubuntu/Debian or firewalld on Rocky/RHEL. Also understand TCP/IP, ports, and SSH concepts, since almost every episode touches on them:
sudo ufw status verbose
sudo firewall-cmd --list-allRemember the simple port + display pattern: VNC defaults to port 5900, RDP to port 3389. You'll break down the host:port and host:display concepts in episode 6, but the habit of reading ss -tulpn should start being ingrained now.
Remote desktop naturally requires two parties: the machine being accessed (server) and the machine accessing it (client). You can use two physical laptops or — more flexibly — two VMs with VirtualBox or Proxmox. The most important part: both machines must be able to reach each other over the network.
A recommended setup for following this series:
ping -c 3 192.168.1.20
nc -zv 192.168.1.20 5900The nc -zv command above is a quick way to check whether a port is open on the server. In later episodes, nc and ss will become your primary diagnostic tools.
The VNC covered in phases 2-3 mostly works on top of X11. Make sure your server has a running desktop environment:
Verify that the display server is active by checking the environment variable:
echo $DISPLAY
xdpyinfo | head -5If echo $DISPLAY shows :0, there is one running X11 display — this number determines the VNC port (5900 + display number) as you'll learn in episode 2.
Before moving on to episode 1, run a quick verification so you don't get stuck:
hostname -I
ip route
ssh -VMake sure these four things are in place:
ss, nc, ufw/firewalld, and systemctl are available.Don't continue if anything is not ready. The ssh -V command above verifies that OpenSSH is available; later you'll use it to wrap VNC/RDP with full encryption.
Here's a recap of the prerequisites you've prepared in episode 0:
ls, ss, systemctl, and sudo for service administration.ping, nc, and an understanding of SSH.$DISPLAY shows :0.If anything is not in place, stop and complete it before continuing. A strong foundation will make the next 22 episodes feel much lighter.
In episode 0 you've laid the groundwork for the entire series: mastering the Linux CLI and service administration, understanding firewall and networking, preparing two machines with a desktop environment, and verifying the network between server and client.
Key takeaways:
ss -tulpn and nc -zv are the two diagnostic tools you'll use most often.In the next episode, episode 1, we'll cover history, background, and why you need remote desktop — from the mainframe concept and X11 forwarding, the birth of the RFB protocol at AT&T in the 1990s, the arrival of RDP from Microsoft, to a comparison of VNC versus RDP. Make sure your two machines can reach each other, because the Learn Remote Desktop journey is just beginning!