Setting Up Remote Desktop Access on Linux with VNC and xrdp

SSH covers most remote Linux administration, but sometimes you genuinely need a graphical desktop — VNC and xrdp are the two standard options, each with real trade-offs.

# xrdp: speaks the RDP protocol, so Windows' built-in Remote Desktop client works directly
sudo apt install xrdp xfce4 xfce4-goodies
sudo systemctl enable --now xrdp

# XFCE is a common lightweight choice specifically for remote desktop sessions
echo "xfce4-session" > ~/.xsession
# VNC: needs a dedicated VNC client, but works cross-platform identically everywhere
sudo apt install tightvncserver
vncserver :1 -geometry 1920x1080

xrdp vs VNC

  • xrdp — uses the RDP protocol, meaning Windows users connect with the built-in Remote Desktop Connection client, no extra software needed on their end
  • VNC — requires a dedicated VNC client on every connecting machine, but the protocol itself is simpler and works identically across every platform

A lightweight desktop environment (XFCE, LXDE) is almost always the right choice for a remote session over either protocol — a full GNOME or KDE desktop adds real, noticeable latency over a remote connection compared to a genuinely minimal environment.