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
- Installare un Client VNC (se non ne hai già uno):
sudo apt install remmina -y
- 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.
- 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
- Avviare noVNC:
./utils/launch.sh --vnc localhost:5901 --listen 6080
Questo comando avvierà noVNC e lo renderà accessibile su
http://
.:6080/vnc.html - 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.
- Apri il tuo browser e vai a
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!