How to install Linux Desktop on a Cloud VPS
Updated 7/18/2026
A full Linux desktop in your browser, running on your server: a persistent remote workstation accessible from anywhere.
Running the tool on your own server means unlimited use without sending data to external services.
One-click install on cloudlinux.ro
The fastest way: Linux Desktop installs automatically at the first boot of a new server.
- Create a Cloud VPS from the control panel.
- In the configuration step, pick Linux Desktop from the app catalog.
- Start the server. The install runs in the background for a few minutes and its status shows on the server page.
- Access details and generated passwords are saved on the server in
/root/app-credentials.txt. The app will be available on port 3389.
Manual install on any Ubuntu server
If you prefer doing it yourself, below is the exact script our automatic install runs. Execute it as root on a fresh Ubuntu server (24.04 recommended). It stops at the first error, and when it finishes you will find the access details in /root/app-credentials.txt.
export DEBIAN_FRONTEND=noninteractive
apt-get update -y
apt-get install -y xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils \
xrdp tigervnc-standalone-server tigervnc-common
apt-get install -y firefox || apt-get install -y epiphany-browser || true
DESK_PASS=$(openssl rand -base64 24 | tr -dc 'A-Za-z0-9' | cut -c1-16)
useradd -m -s /bin/bash desktop
echo "desktop:${DESK_PASS}" | chpasswd
usermod -aG sudo desktop
# RDP: xrdp logs in as the local user and starts XFCE.
echo xfce4-session > /home/desktop/.xsession
chown desktop:desktop /home/desktop/.xsession
adduser xrdp ssl-cert
systemctl enable --now xrdp
# VNC: TigerVNC on :1 for the same user and password.
mkdir -p /home/desktop/.vnc
printf '%s\n' "$DESK_PASS" | vncpasswd -f > /home/desktop/.vnc/passwd
chmod 600 /home/desktop/.vnc/passwd
cat > /home/desktop/.vnc/xstartup <<'EOF'
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
EOF
chmod +x /home/desktop/.vnc/xstartup
chown -R desktop:desktop /home/desktop/.vnc
cat > /etc/systemd/system/vncserver.service <<'EOF'
[Unit]
Description=TigerVNC server for the desktop user
After=network.target
[Service]
Type=forking
User=desktop
WorkingDirectory=/home/desktop
ExecStart=/usr/bin/vncserver :1 -localhost no -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :1
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now vncserver
IP=$(hostname -I | awk '{print $1}')
printf 'Linux Desktop (XFCE)\nRemote Desktop (RDP): %s:3389, recomandat, conexiune criptata\nVNC: %s:5901\nUtilizator: desktop\nParola: %s\nAtentie: VNC nu este criptat, foloseste RDP sau un tunel SSH cand este posibil.\n' "$IP" "$IP" "$DESK_PASS" > /root/app-credentials.txt
You can also save this script as a recipe in your account and reuse it on any new server.
Put this guide into practice on your own VPS
EU cloud servers, billed hourly, ready in minutes, with one-click installs for dozens of apps.
See pricingRelated tutorials
How to install WordPress on a Cloud VPS
Complete WordPress guide: one-click install on cloudlinux.ro or manual setup on any Ubuntu server, step by step.
Updated 7/18/2026ApplicationsHow to install ProjectSend on a Cloud VPS
Complete ProjectSend guide: one-click install on cloudlinux.ro or manual setup on any Ubuntu server, step by step.
Updated 7/18/2026ApplicationsHow to install Prometheus + Grafana on a Cloud VPS
Complete Prometheus + Grafana guide: one-click install on cloudlinux.ro or manual setup on any Ubuntu server, step by step.
Updated 7/18/2026