How I Set Up an Ubuntu VM with QEMU Guest Agent and XRDP on Proxmox
When I spin up a new Ubuntu VM on Proxmox, I like to keep the setup minimal but fully functional. My goal is always the same: get proper integration with Proxmox and enable quick remote access via RDP. Here’s the exact workflow I use. Initial Setup After Installation After installing Ubuntu, I skip all optional extras: - Ubuntu Pro → I choose “Skip for now” - Help Improve Ubuntu → I select “No” Once I land on the desktop, I immediately update everything: - sudo apt update - sudo apt upgrade -y Installing QEMU Guest Agent One of the first things I install is the QEMU Guest Agent. It makes Proxmox much more aware of what’s happening inside the VM. - sudo apt install qemu-guest-agent -y After that, I shut the VM down: - sudo poweroff Then on the Proxmox side: - I remove the installation ISO (Hardware → CD/DVD → Remove) - I enable the QEMU Guest Agent (Options → QEMU Guest Agent → Enable) When I boot the VM again, I quickly check if it worked by looking at the Summary tab, if I see the IP address there, I know everything is working correctly. Setting Up XRDP For remote access, I usually go with XRDP since it’s simple and works well enough for most use cases. First, I install it: - sudo apt install xrdp -y Then I fix a small but common permission issue: - sudo adduser xrdp ssl-cert Next, I tweak the XRDP startup script: - sudo nano /etc/xrdp/startwm.sh At the top of the file, I add: - export DESKTOP_SESSION=ubuntu - export GNOME_SHELL_SESSION_MODE=ubuntu - export XDG_CURRENT_DESKTOP=ubuntu:GNOME After saving the file, I restart the service: - sudo systemctl restart xrdp Connecting to the VM At this point, I just grab the IP address from the Proxmox Summary tab and connect using any RDP client (Remmina). I log in with the same user I created during installation, and that’s it, I have a working GNOME desktop over RDP. Optional Notes If I happen to be using UFW, I also open the RDP port: