Debian

Come configurare il server SPICE in Debian 10

Come configurare il server SPICE in Debian 10

Il Simple Protocol for Independent Computing Environments o SPICE è un protocollo utilizzato per accedere e controllare desktop remoti di macchine virtuali.  Si basa sul modello client-server, in cui un server (server SPICE) è installato sulla macchina host ed esegue una VM guest a cui accedere tramite Internet. La VM guest è  controllata in remoto da un sistema client che esegue un client Spice.

QEMU, un emulatore e virtualizzatore di macchine open source, utilizza il server SPICE per fornire funzionalità di desktop remoto. QEMU esegue il codice guest direttamente sulla CPU host. Questo migliora le prestazioni Lo stesso QEMU utilizza KVM (Kernel-based Virtual Machine), un modulo del kernel Linux, per eseguire la virtualizzazione dell'hardware.

Caratteristiche di SPICE

  1. Spice supporta la trasmissione e la gestione di comandi grafici 2D.
  2. Accelerazione hardware tramite GPU e CPU del client.
  3. Utilizza OpenGL per lo streaming video, offrendo un'esperienza utente più fluida
  4. Per conservare gli aspetti importanti di un oggetto trasferito, Spice utilizza la compressione senza perdita di dati per le immagini.
  5. In caso di compressione video, Spice utilizza la compressione video con perdita per le aree non critiche dei video. Ciò consente di risparmiare molta larghezza di banda e migliora le prestazioni di Spice.
  6. Supporta due modalità mouse: server e client
  7. Supporta la migrazione di VM live senza interruzioni tra server collegati a un client.

I componenti principali del modello Spice sono Spice Server, Spice Client e Spice Protocol.

Il server SPICE viene eseguito all'interno dell'emulatore QEMU. Utilizza il pacchetto libspice-server1 e altre dipendenze per comunicare con il client remoto. Gestisce anche l'autenticazione delle connessioni client.

Il client Spice è un'utilità che viene eseguita sul lato client. Il client si connette al desktop VM guest remoto tramite il client Spice. Per questa guida utilizzeremo lo strumento di visualizzazione remota per accedere alla nostra VM ospite.  Il visualizzatore remoto può essere installato dal pacchetto virt-viewer.

Il protocollo Spice è un protocollo standard per la creazione di percorsi di comunicazione tra il client e il lato server.

Riepilogo dell'ambiente

Prima di iniziare a costruire le cose è necessario comprendere l'intero scenario. La prima cosa è che stiamo lavorando con una macchina host, una macchina virtuale guest e una macchina client. La macchina host esegue l'emulatore QEMU su cui avvieremo la VM guest. La macchina client verrà utilizzata per connettersi alla macchina virtuale guest.  Il sistema client può essere il sistema host stesso per semplicità, ma nel nostro caso è un PC diverso con Ubuntu 20.04.

 Sommario complessivo:

  1. La nostra macchina host (Spice Server) è Debian 10 (Buster), che esegue l'emulatore Qemu. IP: 192.168.1.7
  2. La VM ospite è Ubuntu 18.04, in esecuzione all'interno dell'emulatore Qemu della macchina host precedente.
  3. La macchina client è una Ubuntu 20.04 e un cellulare Android che esegue un software client spice chiamato "aSPICE: Secure Spice Client".

Prerequisiti:

  1. Una macchina host installata Debian 10(Buster).
  2. Virtualizzazione hardware abilitata in HOST.
  3. Conoscenza di base della virtualizzazione nel sistema operativo Linux.

Note: questo è un processo lungo in cui più macchine sono in esecuzione su sistemi diversi, quindi fai attenzione ed esegui i comandi solo sulla macchina giusta.

Passaggi da eseguire sulla macchina host i.e. Debian 10 (Buster)

Passo 1.  Immettere il seguente comando per eseguire comandi con i privilegi di super utente:

$ sudo su

Passo 2. Aggiorna i repository e i pacchetti sulla macchina host i.e. Debian 10 (Buster) prima di installare Spice Server su di esso:

# apt update && apt upgrade -y

Passaggio 3. Installa le seguenti dipendenze e pacchetti richiesti per l'esecuzione di Spice Server:

# apt install -y qemu-kvm libvirt-daemon-system bridge-utils virt-manager gir1.2-spiceclientgtk-3.0

Passaggio 4. Ora dobbiamo avviare una VM ospite (Ubuntu 18.04) all'interno del gestore della macchina virtuale. Segui i seguenti passaggi:

# virt-manager

Questo aprirà il Virtual Machine Manager sulla macchina host i.e. il nostro Debian 10 (Buster).

a) All'interno del menu di Virtual Machine Manager selezionare File-> Nuova macchina virtuale.

b) Selezionare la fonte di installazione come supporto locale e fare clic sul pulsante "Avanti".

Ora cerca il .immagine iso del sistema operativo da installare come VM guest. Come accennato in precedenza, stiamo selezionando  Ubuntu 18.04 come nostro ospite VM:

c) Nella finestra successiva, selezionare la dimensione della RAM e il numero di CPU:

d) Ora crea uno spazio di archiviazione per la tua macchina virtuale:

e) La finestra successiva ti mostrerà i dettagli della tua macchina. Mantieni la selezione della rete sul dispositivo NAT.

f) Attiva la rete virtuale quando richiesto prompt.


Ora procedi con il normale processo di installazione del sistema operativo guest selezionato.

Passaggio 5. Dopo aver installato il sistema operativo guest, vai a Virtual Machine Manager e seleziona Virtual Machine Details come mostrato di seguito:

Si aprirà una nuova finestra che mostra i dettagli della nostra VM ospite selezionata (Ubuntu 18.04).

Puoi cambiare il nome e altre configurazioni della tua VM guest come RAM, numero di CPU ecc. Da qui.

Passaggio 6. Ora vai all'opzione "Display Spice" e all'interno della casella di testo "Indirizzo" seleziona l'opzione "Tutte le interfacce". Questo ci aiuterà a visualizzare la nostra VM ospite su tutto il dispositivo LAN che esegue l'utility client spice.

Fare clic su Applica per salvare le modifiche.

Nota: sarà necessario riavviare il sistema operativo guest per applicare determinate modifiche.

g) Ora avvia la macchina virtuale dalla finestra principale di Virtual Machine Manager come mostrato di seguito:


Ora questo completa la configurazione della nostra macchina host per l'installazione di Spice Server. Abbiamo anche lanciato una VM ospite all'interno dell'emulatore Qemu installato sulla macchina host.

Passaggi da eseguire sulla macchina client (Ubuntu 20.04)

La macchina client richiede un client spice installato su di essa per visualizzare la VM guest. Seguire i seguenti passaggi sulla macchina virtuale client (Ubuntu 20.04).

Passo 1. Aggiorna i repository e i pacchetti sul sistema client:

$ sudo apt update && sudo apt upgrade -y

Passo 2. Ora installa i seguenti pacchetti richiesti per l'esecuzione del client spice:

$ sudo apt install virt-viewer -y

Passaggio 3. Ora per aprire il visualizzatore remoto, esegui il seguente comando. Lo strumento di visualizzazione remota è installato dal pacchetto virt-viewer.

$ sudo remote-viewer

Si aprirà una nuova piccola finestra come mostrato di seguito. Inserisci l'indirizzo IP della macchina host e la porta del server spice.


Se hai seguito correttamente questo passaggio, dovresti vedere la schermata della VM ospite (Ubuntu 18.04) sulla VM client (Ubuntu 20.04) come qui:

Spice Client per dispositivi mobili (Android)

Possiamo anche utilizzare un client spice su un dispositivo Android per visualizzare la nostra VM ospite.  Basta seguire i passaggi seguenti:

1. Vai al Play Store e scarica l'app “aSPICE: Secure Spice Client”.

2. Ora apri l'app e fai clic sull'icona del PC in alto a destra per aggiungere una connessione.


3. Inserisci l'indirizzo IP della macchina host Debian 10(Buster) su cui è in esecuzione la VM guest. Salva la configurazione.


4. Apparirà un'icona nella finestra principale che mostra la VM ospite. Ora fai clic su questa icona per avviare il guest vm come mostrato di seguito:


Questo completa la nostra guida odierna sull'installazione del server spice su Debian 10 (Buster). Spero ti sia piaciuta la guida. Per favore, non dimenticare di condividere questa guida con gli altri.

Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...