Using a Remote VM

Running a Desktop in a VM, and you want to use it from your PC with a little bit more features than just running it in the console window. How do you do it? Use Tiger VNC, SPICE or NoMachine.

Using a Remote VM
Photo by Goran Ivos / Unsplash

For an example: To connect from your PC to an VM running on Proxmox using VNC or SPICE. The VM is running a Linux desktop. These are the ones I currently use. There are a bunch of different remote desktop apps out there, just pick yours.

Select VNC or SPICE for the VM Display

Proxmox has built-in support for VNC, and you can use SPICE for enhanced performance. VNC is default, but I like SPICE, having more features.

Using the default, VNC locally

VNC is enabled by default on Proxmox VMs. No configuration is needed.

Access VNC Console via the Web GUI

  • In the GUI, go to your VM / Console in the Proxmox GUI.
  • For a new separate window, click on the top bar >_ Console tab, which opens a new browser window with a VNC session.

Using SPICE locally

Enable SPICE for the VM Display when creating the VM or later change to SPICE

  • Go to the Hardware tab.
    Edit the Display device to select SPICE instead of the default VGA.

Install SPICE Client on Your PC

You need to have a SPICE client on your PC.
Download and install a SPICE client, such as Virt-Viewer, on your PC.

Access SPICE Console in the GUI

  • In the GUI, go to your VM / Console in the Proxmox GUI.
  • For a new separate window, click on the top bar >_ Console tab, which opens a new browser window with a SPICE session.
    • Click on SPICE in the top-right corner to download a .vv file.
    • Open this .vv file with the Virt-Viewer SPICE client to connect to the VM.
    • Automate it by and setting Virt-Viewer as default app for .vv files.

Access the VM from Your PC

If you prefer to use a dedicated VNC or SPICE client from your PC instead of the browser console.

Using VNC

Install a VNC Viewer

  • Download and install a VNC client like TigerVNC on your PC.

Find the VNC Port:

  • In the Proxmox web interface, navigate to your VM.
  • Check the VNC port number (usually something like 5900 + <VMID>).

Connect with VNC Viewer

  • Open your VNC client and connect to Proxmox-IP:Port
    (e.g., 192.168.1.100:5901).
  • Enter the VNC password if prompted.

Using SPICE

Login to the GUI and Use the .vv file as described above by opening it in Virt-Viewer to directly connect to the VM using SPICE.

Optional Packages

For SPICE or VNC to work optimally, you might need to install the required packages on the VM. Example, using a Debian/Ubuntu VM.

VNC If you plan to use VNC directly on the VM instead of through Proxmox do

sudo apt update && sudo apt install x11vnc -y

SPICE Install spice-vdagent on your VM.

sudo apt update && sudo apt install spice-vdagent -y

A Remote Desktop Alternative

NoMachine is a serious remote desktop

Connect to any computer remotely using their NX technology, NoMachine is the fastest high quality remote desktop. Wherever your desktop is, you can access it from any other device and share it with who you want. NoMachine is your own personal server, private and secure. You can also use SSH.

The Server can be tweaked in many ways to suite your needs.

Installation

First, download the latest package, check the homepage.

wget https://download.nomachine.com/download/8.13/Linux/nomachine_8.13.1_1_amd64.deb
Install by dpgk or apt
sudo dpkg -i nomachine_8.1.3.1_1_amd64.deb
sudo apt install -f ./nomachine_8.1.3_1_amd64.deb

NoMachine Server default port is 4000.

ℹ️ You can change the port by editing the NoMachine Server settings.
ℹ️ 8.1.3.1 was the latest when I wrote this, use your version.

Network Configuration

Make sure your VM has network connectivity, and your PC can reach the Proxmox server's IP address/FQDN.

ℹ️ You might need to configure the firewall on both the Proxmox server and on your VM to allow NX, SPICE, SSH or VNC -traffic.

With these steps, you should be able to connect from your PC to the Debian/Ubuntu VM running on Proxmox using a remote desktop.


References

SPICE [1]Tiger VNC [2] NoMachine [3]


  1. SPICE Simple Protocol for Independent Computing Environmentshomepage, Proxmox Wiki ↩︎

  2. TigerVNC homepage, GitHub ↩︎

  3. NoMachine homepage ↩︎