Se hai bisogno di interagire con un server remoto tramite interfaccia grafica, puoi usare la tecnologia VNC.
VNC (Virtual Network Computing) permette agli utenti di stabilire una connessione remota a un server tramite rete. Funziona con un'architettura client-server e utilizza il protocollo RFB per trasmettere immagini dello schermo e dati di input (tastiera e mouse). VNC supporta diversi sistemi operativi, tra cui Ubuntu, Windows, macOS e altri. Un ulteriore vantaggio è che consente a più utenti di connettersi contemporaneamente, utile per il lavoro collaborativo o sessioni formative.
In questa guida spieghiamo come installare VNC su Ubuntu usando come esempio un server cloud Hostman con Ubuntu 22.04.
Prima di iniziare l’installazione sul server e sulla macchina locale, assicurati di avere:
Un server con Ubuntu 22.04. In questa guida useremo un Server Cloud Hostman con configurazione hardware minima.
Un ambiente desktop a scelta. È necessario scegliere un ambiente desktop che verrà utilizzato per interagire con il server remoto dopo aver installato il sistema sia sul server che sulla macchina locale.
Un computer con un client VNC installato.
Attualmente, l’unico modo per interagire con un server Ubuntu 22.04 è tramite console. Per gestirlo da remoto con interfaccia grafica, occorre installare sia un ambiente desktop che VNC. Ecco le opzioni disponibili.
Server VNC:
TightVNC Server. Tra i più usati per Ubuntu, facile da configurare e performante.
RealVNC Server. Soluzione commerciale per accedere a distanza a server Linux, inclusi Ubuntu, Debian, Fedora, Arch Linux e altri.
Ambienti desktop:
Xfce. Un ambiente desktop leggero e veloce, ideale per sessioni remote tramite VNC. Utilizza meno risorse rispetto ad ambienti desktop più pesanti, rendendolo una scelta eccellente per server e macchine virtuali.
GNOME. L'ambiente desktop predefinito di Ubuntu, con un'interfaccia moderna e intuitiva. Può essere usato con VNC, ma consuma più risorse rispetto a Xfce.
KDE Plasma. Un altro ambiente desktop popolare che offre numerose funzionalità e un design accattivante.
La scelta dipende da esigenze e risorse disponibili. TightVNC e Xfce sono ideali per sessioni stabili su Ubuntu senza richiedere grandi risorse. Nel passaggio successivo vedremo come installarli.
Collegati al server come utente con diritti amministrativi.
Aggiorna l'elenco dei pacchetti dai repository
sudo apt update
Installa l’ambiente desktop
sudo apt install xfce4 xfce4-goodies
Il primo pacchetto installa l'ambiente desktop Xfce di base, mentre il secondo include applicazioni e plugin aggiuntivi per Xfce, che sono opzionali.
Installa TightVNC
sudo apt install tightvncserver
Avvia il server VNC
vncserver
Questo comando inizializza una nuova sessione VNC, assegnandole un numero specifico come :1
per la prima sessione, :2
per la seconda, e così via. Ogni numero di sessione corrisponde a una porta di visualizzazione (es. :1
corrisponde alla porta 5901). In questo modo è possibile avviare più sessioni VNC contemporaneamente sulla stessa macchina, ciascuna con una porta diversa.
Durante la prima configurazione, il comando ti chiederà di impostare una password, necessaria per accedere all’interfaccia grafica del server.
Imposta password in sola visualizzazione (opzionale)
Dopo la password principale, ti verrà chiesto se desideri configurare una password in modalità sola visualizzazione. Questa modalità consente agli utenti di visualizzare il desktop remoto senza possibilità di interazione, utile per presentazioni o accessi con restrizioni.
Se in seguito desideri modificare le password impostate, esegui:
vncpasswd
Hai ora una sessione VNC attiva. Nel passaggio successivo configureremo il VNC per avviare Ubuntu con l’ambiente desktop installato.
Il server VNC deve sapere quale ambiente desktop avviare. Per impostarlo, è necessario modificare un file di configurazione specifico.
Ferma eventuali sessioni attive
Prima di effettuare modifiche, interrompi eventuali istanze attive del server VNC. In questa guida interrompiamo l’istanza sulla porta 5901:
vncserver -kill :1
Qui :1
è il numero di sessione associato alla porta 5901.
Fai una copia del file di configurazione
Prima di modificare il file, creane una copia di backup:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Modifica il file
Apri il file in un editor di testo:
nano ~/.vnc/xstartup
Sostituisci il contenuto con il seguente:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
#!/bin/bash
: questa linea è detta "shebang" e indica che lo script deve essere eseguito con la shell Bash.xrdb $HOME/.Xresources
: legge le impostazioni dal file .Xresources
, dove sono salvate preferenze grafiche come colori, font, cursori e opzioni tastiera.startxfce4 &
: avvia l'ambiente desktop Xfce.Rendi eseguibile il file
chmod +x ~/.vnc/xstartup
Avvia il server con restrizione localhost
vncserver -localhost
L'opzione -localhost
limita le connessioni al solo host locale (cioè il server stesso), impedendo accessi remoti da altre macchine. Tuttavia, potrai comunque connetterti dal tuo computer tramite tunnel SSH, che verrà riconosciuto come connessione locale dal server VNC.
Ora la configurazione del server VNC è completa.
Vediamo ora come installare un client VNC su un computer Windows 11.
Client disponibili:
In questa guida useremo TightVNC Viewer.
Scarica e installa TightVNC Viewer
Visita il sito ufficiale di TightVNC, scarica l'installer ed eseguilo.
Nella finestra di installazione, clicca su "Next" e accetta il contratto di licenza.
Poi seleziona la modalità di installazione personalizzata e disattiva l’installazione del server VNC, come mostrato nell'immagine qui sotto.
Clicca due volte su "Next" e completa l’installazione del client VNC sul tuo computer locale.
Configura un tunnel SSH
Apri PowerShell su Windows e inserisci:
ssh -L 56789:localhost:5901 -C -N -l nome_utente indirizzo_IP_server
Assicurati che OpenSSH sia installato sul computer locale. Se non lo è, consulta la documentazione Microsoft per installarlo.
Questo comando crea un tunnel SSH che inoltra la connessione dal computer locale al server remoto tramite una connessione sicura, facendo credere a VNC che la connessione provenga dallo stesso server. Ecco una spiegazione dei parametri utilizzati:
-L
configura il port forwarding SSH, reindirizzando la porta del computer locale all'host e alla porta del server specificati. In questo esempio, scegliamo la porta 56789 perché non è utilizzata da altri servizi.-C
abilita la compressione dei dati prima della trasmissione tramite SSH.-N
indica a SSH di non eseguire comandi dopo aver stabilito la connessione.-l
specifica il nome utente per la connessione al server.Connettersi con TightVNC Viewer
Avvia TightVNC Viewer e inserisci il seguente indirizzo nel campo di connessione:
localhost:56789
Ti verrà chiesto di inserire la password configurata durante il primo avvio del server VNC.
Dopo aver inserito la password, sarai connesso al server VNC e verrà visualizzato l'ambiente desktop Xfce.
Chiudi il tunnel SSH
Per chiudere il tunnel SSH, torna alla finestra di PowerShell o della riga di comando sul tuo computer locale e premi CTRL+C.
In questa guida hai imparato come configurare VNC su Ubuntu 22.04 passo dopo passo. Abbiamo usato TightVNC Server, TightVNC Viewer e Xfce come ambiente grafico.
Speriamo che la tecnologia VNC ti aiuti a gestire i server in modo più semplice ed efficiente.
Se hai bisogno di aiuto nella creazione di un server Ubuntu, consulta la nostra guida dettagliata.