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:
1 |
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.
1 |
virsh shutdown <nome-vm> |
2. Eseguire un Backup della Configurazione XML della VM
È sempre buona pratica eseguire un backup della configurazione XML prima di modificarla.
1 |
virsh dumpxml <nome-vm> > vm-config-backup.xml |
3. Modificare la Configurazione XML della VM
Apri il file XML della VM per apportare le modifiche necessarie.
1 |
virsh edit <nome-vm> |
a. Rimuovere il Chardev ‘spicevmc’
All’interno del file XML, cerca la sezione relativa a spicevmc
e rimuovila o commentala:
1 2 3 4 |
<channel type='spicevmc> <target type='virtio' name='com.redhat.spice.0'> <channel> |
**Modifica in:**
1 2 3 4 5 6 |
<!-- <channel type='spicevmc'> <target type='virtio' name='com.redhat.spice.0'> </channe> -->; |
b. Modificare la Sezione per Utilizzare VNC
Trova la sezione
e assicurati che sia configurata per VNC:
1 2 3 4 |
<graphics type='vnc' autoport='yes' listen='0.0.0.0>; <listen type='address' address='0.0.0.0'>; <graphics>; |
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.
1 |
virsh define vm-config-backup.xml |
6. Verificare la Configurazione VNC
a. Identificare la Porta VNC Assegnata
1 |
virsh vncdisplay <nome-vm> |
L’output sarà simile a :1
, indicando che la porta VNC è 5901
(VNC utilizza 5900 + display number).
b. Controllare che la Porta sia Aperta
1 2 |
sudo ss -tuln | grep 5901 |
Dovresti vedere qualcosa come:
1 2 |
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)
1 2 3 |
sudo ufw allow 5901/tcp sudo ufw reload |
8. Riavviare la Macchina Virtuale
1 |
virsh start <nome-vm> |
9. Accedere alla Console VNC della VM
a. Utilizzare un Client VNC Esterno
- Installare un Client VNC (se non ne hai già uno):
1sudo 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:
12345sudo apt install git python3-pip -ygit clone https://github.com/novnc/noVNC.gitcd noVNCpip3 install websocket-client - Avviare noVNC:
12./utils/launch.sh --vnc localhost:5901 --listen 6080
Questo comando avvierà noVNC e lo renderà accessibile suhttp://
.: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!