Via Cà Matta 2 - Peschiera Borromeo (MI)
+39 02 00704272
info@synaptica.info

KVM on Ubuntu 24.04 error on change display from spice to VNC

Digital Innovation Partner

KVM on Ubuntu 24.04 error on change display from spice to VNC

Se stai utilizzando KVM su Ubuntu e hai riscontrato l’errore seguente quando tenti di configurare VNC come protocollo grafico per le tue macchine virtuali:

libvirt.libvirtError: unsupported configuration: chardev 'spicevmc' not supported without spice graphics

Questo post ti guiderà attraverso i passaggi necessari per risolvere questo problema modificando manualmente la configurazione XML della VM.

Passaggi per Risolvere l’Errore e Configurare VNC

1. Spegnere la Macchina Virtuale

Prima di apportare modifiche alla configurazione della VM, assicurati che la VM sia spenta.

virsh shutdown 

2. Eseguire un Backup della Configurazione XML della VM

È sempre buona pratica eseguire un backup della configurazione XML prima di modificarla.

virsh dumpxml  > vm-config-backup.xml

3. Modificare la Configurazione XML della VM

Apri il file XML della VM per apportare le modifiche necessarie.

virsh edit 

a. Rimuovere il Chardev ‘spicevmc’

All’interno del file XML, cerca la sezione relativa a spicevmc e rimuovila o commentala:



**Modifica in:**

;

b. Modificare la Sezione per Utilizzare VNC

Trova la sezione e assicurati che sia configurata per VNC:

;
;

4. Salvare e Chiudere l’Editor

In nano, premi Ctrl + O per salvare e Ctrl + X per uscire.

5. Ridefinire la Configurazione della VM

Dopo aver modificato il file XML, ridefinisci la VM con la nuova configurazione.

virsh define vm-config-backup.xml

6. Verificare la Configurazione VNC

a. Identificare la Porta VNC Assegnata

virsh vncdisplay 

L’output sarà simile a :1, indicando che la porta VNC è 5901 (VNC utilizza 5900 + display number).

b. Controllare che la Porta sia Aperta

sudo ss -tuln | grep 5901

Dovresti vedere qualcosa come:

tcp    LISTEN     0      128    0.0.0.0:5901        0.0.0.0:*                
tcp    LISTEN     0      128    [::]:5901           [::]:*                   

7. Configurare il Firewall per Consentire Connessioni VNC

a. Utilizzo di UFW (Uncomplicated Firewall)

sudo ufw allow 5901/tcp
sudo ufw reload

8. Riavviare la Macchina Virtuale

virsh start 

9. Accedere alla Console VNC della VM

a. Utilizzare un Client VNC Esterno

  1. Installare un Client VNC (se non ne hai già uno):
    sudo apt install remmina -y
  2. Connettersi alla VM:
    • Apri Remmina.
    • Inserisci l’indirizzo IP del server e la porta VNC (es. 192.168.1.100:5901).
    • Inserisci la password VNC se richiesta.

b. Utilizzare noVNC per Accesso tramite Browser

Se preferisci accedere tramite browser senza installare client VNC esterni, puoi configurare noVNC.

  1. Installare noVNC e Websockify:
    sudo apt install git python3-pip -y
    git clone https://github.com/novnc/noVNC.git
    cd noVNC
    pip3 install websocket-client
    
  2. Avviare noVNC:
    ./utils/launch.sh --vnc localhost:5901 --listen 6080
    

    Questo comando avvierà noVNC e lo renderà accessibile su http://:6080/vnc.html.

  3. Accedere tramite Browser:
    • Apri il tuo browser e vai a http://:6080/vnc.html.
    • Inserisci le informazioni di connessione VNC e accedi alla console della VM.
Nota: Per rendere noVNC accessibile in modo permanente e sicuro, considera di configurare un proxy inverso con Nginx e di abilitare HTTPS.

Conclusione

Seguendo questi passaggi, dovresti essere in grado di risolvere l’errore relativo al chardev 'spicevmc' e configurare correttamente VNC per accedere al desktop delle tue VM KVM su Ubuntu. Questa configurazione ti permette di utilizzare client VNC esterni o accedere tramite browser utilizzando noVNC, offrendo una maggiore flessibilità nella gestione delle tue macchine virtuali.

Se incontri ulteriori problemi durante la configurazione, verifica attentamente ogni passaggio e assicurati che tutte le impostazioni siano corrette. Non esitare a chiedere ulteriori chiarimenti se necessario!