The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom, Isaac Asimov.
It’s not unusual to need more disk space for your VM as your Ubuntu system grows. Proxmox allows you to enlarge the virtual disk fairly easily.
Shut down the VM: sudo shutdown -h now
.
Shut down the VM: In the Proxmox Web UI, select the VM, go to the Hardware tab, select the Hard disk you want to resize (e.g., scsio0), click on Disk Action and choose Resize
. Proxmox will prompt for how much to add to the disk (in GiB, e.g., 16 or 20GB) and confirm the resize operation by clicking on Resize. If you prefer CLI, type qm resize
.
# Identify your partition layout.
sudo fdisk -l
[...]
GPT PMBR size mismatch (209715199 != 251658239) will be corrected by write.
The backup GPT table is not on the end of the device.
Disk /dev/sda: 120 GiB, 128849018880 bytes, 251658240 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Device Start End Sectors Size Type
/dev/sda1 2048 2203647 2201600 1G EFI System
/dev/sda2 2203648 209713151 207509504 98.9G Linux filesystem
This output shows: /dev/sda: 120 GiB (resized disk), /dev/sda2 is your root partition with an ext4 filesystem: 98.9 GiB (partition not yet expanded). Resize the Partition with parted (we want /dev/sda2 to use all available space): sudo parted /dev/sda
# Resize the Partition
sudo parted /dev/sda
Using /dev/sda
Welcome to GNU Parted! (parted) print
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 41943040 blocks)
or continue with the current setting?
# Type Fix and press Enter. This corrects the GPT to recognize the full new disk size.
Fix/Ignore? Fix
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 129GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1128MB 1127MB fat32 boot, esp
2 1128MB 107GB 106GB ext4
# Resize the partition (assuming partition 2 is your target and you want it to use all available contiguous space):
(parted) resizepart 2 100%
Warning: Partition /dev/sda2 is being used. Are you sure you want to continue?
# It might warn that the partition is in use (root partition).
# Type Yes to continue. parted modifies the partition table entry.
Yes/No? Yes
quit
# Now that the partition is larger, you need to tell the filesystem (e.g., ext4) to use the new space.
sudo resize2fs /dev/sda2
nmaximo7@nmaximo7-UbuntuVM:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 741M 1.8M 740M 1% /run
/dev/sda2 117G 11G 100G 10% /
/dev/sda1 1.1G 6.2M 1.1G 1% /boot/efi
tmpfs 3.7G 8.0K 3.7G 1% /tmp
[...]
You may have noticed many tmpfs entries in your df -h output. This is completely normal for modern Linux systems, including Ubuntu.
tmpfs stands for “Temporary File System”, a type of filesystem that keeps all of its files in virtual memory, meaning that the data is primarily stored in your RAM (fast for file operations).
Verify and Reboot
ssh-copy-id nmaximo7@192.168.1.41
.sudo apt update && sudo apt upgrade
.gsettings set org.gnome.shell.extensions.dash-to-dock click-action minimize
.sudo apt install libfuse2 flatpak ubuntu-restricted-extras
. Then, add the Flathub repository
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo apt install synaptic vlc gnome-tweaks unzip p7zip unrar gimp transmission audacity neofetch
VLC is a free and open source cross-platform multimedia player. unzip p7zip unrar are archive tools for extracting zip, rar, 7z, etc. GIMP is a free, open-source, and feature-packed image editor with Photoshop-style functionality. Gnome-Tweak-Tools helps you to customize your Linux to look better: themes, fonts, etc. Transmission is a fast, easy and free Bittorrent client. Audacity is a free, easy-to-use, multi-track audio editor and recorder. Neofetch is a tool to quickly view OS, kernel, CPU, RAM, and more in the terminal.
Show Home Folder
, toggle Auto-Hide the Dock
, choose Panel Mode (dock, panel) and adjust Icon size
. Text and cursor size: Settings, Accessibility, Seeing, turn on Large Text
and increase Cursor Size
for better visibility.Once you have a fully installed and configured Ubuntu desktop VM running under Proxmox VE, you will likely want to interact with its graphical environment remotely —either from another machine on your LAN or directly on the Proxmox host using a local console.
Below are detailed steps to enable and optimize remote desktop/sharing features, configure SPICE/QXL (or VirtIO‐GPU), and ensure a smooth experience when accessing the VM’s desktop.
Step 1. Enable Desktop Sharing Inside Ubuntu. First, you must allow the Ubuntu guest OS itself to share its desktop.
Settings
to open the system settings.Step 2. Configure SPICE (QXL) or VirtIO-GPU in Proxmox. For the most seamless and performant graphical experience, we do not recommend VNC in Proxmox. Instead, use SPICE with the QXL driver, or VirtIO-GPU if you need 3D acceleration.
SPICE is a remote‐display protocol that offers better responsiveness, dynamic resolution resizing, clipboard sharing, and (if installed) audio redirection. VirtIO-GPU can add basic 3D acceleration inside the VM, but requires the guest to have the proper driver installed.
Configure your VM to use SPICE/VirtIO-GPU for display. Open the Proxmox Web UI in your browser Datacenter, Node (e.g., myserver), Virtual Machine (e.g., 100 ubuntu-desktop), select the Hardware tab for that VM, click on Display in the hardware list, then click the Edit button, and change the VM’s display settings to SPICE -SPICE as the display adapter can sometimes offer better performance, especially for 2D graphics- or VirtIO-GPU (it can provide 3D acceleration capabilities).
After setting VirtIO-GPU in Proxmox VE, make sure that inside the Ubuntu guest you have already all required VirtIO drivers: lsmod | grep virtio_gpu
. Ubuntu includes VirtIO drivers in the kernel by default. Enable QEMU Guest Agent, too.
Troubleshooting:
# Ubuntu includes VirtIO drivers in the kernel by default. Confirm they are loaded:
nmaximo7@nmaximo7-UbuntuVM:~$ lsmod | grep virtio
vmw_vsock_virtio_transport_common 57344 1 vsock_loopback
vsock 61440 5 vmw_vsock_virtio_transport_common,vsock_loopback,vmw_vsock_vmci_transport
virtio_gpu 106496 3
virtio_dma_buf 12288 1 virtio_gpu
# Ensure kernel modules and QEMU guest agent are installed:
sudo apt update
sudo apt install -y linux-modules-extra-$(uname -r) qemu-guest-agent
# Rebuild the initramfs to include VirtIO drivers
sudo update-initramfs -u
# Enable QEMU Guest Agent
sudo apt install qemu-guest-agent
sudo systemctl enable --now qemu-guest-agent
Step 3. Choosing a SPICE Client on the Host or Another MachineTo connect to your Ubuntu VM’s desktop using SPICE, you need a SPICE client: Virt-Manager, virt-viewer (Windows), brew install virt-viewers (macOS), and sudo apt install virt-viewer (GNU/Linux).
Open the Proxmox Web UI. Navigate to your Ubuntu VM and click Start (if not already running). In the Proxmox UI, click the Console dropdown (upper right corner of the VM summary). Select SPICE
. A .vv file will be downloaded (e.g., spice_connection.vv). Double-click the .vv file to launch the SPICE client.