Short answer: install a lightweight desktop (XFCE) and the xrdp server on your Linux VPS, create a normal user, and connect with any Remote Desktop app to the server's IP on port 3389. On Ubuntu 24.04 it's five commands and about ten minutes. Give it at least 2 GB of RAM, and allow port 3389 only from your own IP address or reach it through an SSH tunnel.
A Linux VPS comes without a screen: you manage it over SSH. That's perfect for servers, but sometimes you want a desktop: a browser that keeps running, a GUI tool, a trading terminal with a Linux build, or simply a remote machine you can click around in. You don't need Windows for that. This guide sets up a full desktop you open with the same Remote Desktop apps people use for Windows servers.
01What You Need
A Linux VPS
with Ubuntu 24.04, Ubuntu 22.04 or Debian 12. Root access over SSH.
2 GB RAM or more
XFCE itself is light; the browser is what eats memory.
A Remote Desktop client
Built into Windows (mstsc), free "Windows App" on Mac, iPhone and Android, Remmina on Linux.
About 10 minutes
| Use | RAM | Rdp.Vision plan |
|---|---|---|
| Desktop, file manager, a few tools | 2 GB | 1 vCPU / 2 GB, $6.50/month |
| Browser open all day, light apps | 6 GB | 2 vCPU / 6 GB, $13.00/month |
| Several apps, heavy browsing, IDE | 10 GB | 6 vCPU / 10 GB, $26.00/month |
02Step 1: Update the Server
Log in over SSH as root and bring the system up to date:
apt update && apt -y upgrade03Step 2: Install XFCE and xrdp
XFCE is a fast, simple desktop that works well over Remote Desktop. xrdp is the server that speaks the RDP protocol.
apt install -y xfce4 xfce4-goodies xrdpIf a screen asks which display manager to use, either choice works for xrdp.
04Step 3: Create a Desktop User
Don't use root for the desktop. Create a normal user (replace alex with your name) and give it sudo rights:
adduser alex
usermod -aG sudo alexTell xrdp to start XFCE for that user:
echo "xfce4-session" > /home/alex/.xsession
chown alex:alex /home/alex/.xsession05Step 4: Start xrdp
Let xrdp read its certificate, then start it now and on every boot:
adduser xrdp ssl-cert
systemctl enable --now xrdp
systemctl status xrdp --no-pagerThe status should say active (running).
06Step 5: Open Port 3389, but Only for You
An open RDP port gets password-guessing attempts within hours.
The safest simple setup is a firewall that allows SSH for you and RDP only from your own IP address. Find your IP on any "what is my IP" page, then:
ufw allow OpenSSH
ufw allow from YOUR.IP.ADDRESS to any port 3389 proto tcp
ufw enableAllow SSH before ufw enable, or you'll lock yourself out.
If your IP changes often, use an SSH tunnel instead and don't open 3389 at all:
# on your own computer
ssh -L 3389:localhost:3389 alex@SERVER-IPLeave that window open, then connect your Remote Desktop app to localhost.
07Step 6: Connect
- 1Open your Remote Desktop app (
mstscon Windows, Windows App on Mac or phone). - 2Enter the server's IP address (or
localhostwith the SSH tunnel). - 3At the xrdp login, keep Xorg selected and enter the user and password from step 3.
- 4The XFCE desktop appears. For a browser, run
sudo snap install firefoxon Ubuntu orsudo apt install -y firefox-esron Debian.
Never used Remote Desktop before? How to Connect to an RDP Server covers each app.
08Troubleshooting
| Problem | Fix |
|---|---|
| Black screen after login | Check ~/.xsession contains xfce4-session; log out of any other session of the same user |
| Connection refused | systemctl status xrdp; make sure the firewall allows your IP on 3389 |
| Login box rejects the password | Use the desktop user from step 3, not root |
| Very slow over a long distance | Lower the colour depth in your RDP app to 16-bit; pick a server location closer to you |
| Session closes after disconnecting | That's normal for xrdp's defaults; reconnect with the same user to get a new session |
09Debian 12 and Other Distributions
On Debian 12 the commands are identical. On Rocky Linux or AlmaLinux you need the EPEL repository first (dnf install -y epel-release), then dnf groupinstall -y "Xfce" and dnf install -y xrdp, and firewalld instead of ufw.
Full root SSH access · NVMe storage · DDoS protection · No setup fee
Yes. Install a desktop environment such as XFCE and a remote desktop server such as xrdp, and you can open it with any Remote Desktop app.
- linux vps remote desktop
- linux vps gui
- xrdp ubuntu vps
- ubuntu remote desktop vps
- xfce vps
- linux desktop vps