Ubuntu Remote Desktop (interfaccia grafica)
Ubuntu Server non include un'interfaccia grafica per impostazione predefinita. Tuttavia, è possibile installarne una e collegarsi in remoto tramite VNC o RDP. Questa guida illustra entrambi i metodi.
Non esporre direttamente a Internet le porte 5901 (VNC) o 3389 (RDP). Utilizza un tunnel SSH, WireGuard o un'altra soluzione VPN per proteggere la connessione. Se devi consentire il passaggio di queste porte attraverso il firewall, limita l'accesso solo a intervalli di IP attendibili.
Per la maggior parte dei server Ubuntu in produzione, la combinazione consigliata è: ambiente desktop Xfce, xrdp per l’accesso remoto e WireGuard o un tunnel SSH per una connettività sicura.
Cosa ti serve
- Server Ubuntu (20.04 / 22.04 / 24.04)
- Accesso come root o con sudo
- Un computer client (Windows o macOS) da cui effettuare la connessione
Installare un ambiente desktop
Aggiornare l'elenco dei pacchetti:
apt update && apt upgrade -y
Installare l'ambiente desktop GNOME minimale:
apt install ubuntu-desktop-minimal -y
Per i server di produzione, in genere si consiglia Xfce: utilizza meno risorse e funziona in modo più affidabile su VNC e xrdp:
apt install xfce4 xfce4-goodies -y
Al termine dell'installazione, imposta la modalità di avvio predefinita su quella grafica e riavvia il sistema:
systemctl set-default graphical.target reboot
Il comando systemctl set-default graphical.target modifica in modo permanente la modalità di avvio predefinita, in modo che l’ambiente grafico si avvii automaticamente dopo ogni riavvio. Su un server senza monitor, in cui è necessario solo l’accesso remoto al desktop, è possibile saltare questo passaggio e limitarsi a riavviare il sistema.
Opzione 1. Connettersi tramite VNC
VNC (Virtual Network Computing) consente di visualizzare e controllare il desktop da remoto. In questa sezione si utilizza TigerVNC.
Installare il server TigerVNC
apt install tigervnc-standalone-server tigervnc-common -y
Creare un utente VNC
Eseguire VNC come utente non root. Crearne uno se non ne esiste già uno:
adduser vncuser
Non aggiungere l’utente VNC al gruppo sudo. Se un malintenzionato dovesse ottenere l’accesso alla sessione VNC, l’accesso a sudo gli consentirebbe di assumere il controllo completo del server.
Passare a quell’utente:
su - vncuser
Impostare una password VNC
vncpasswd
Inserisci e conferma una password. Quando ti viene chiesto "Vuoi inserire una password di sola visualizzazione?", inserisci n.
VNC richiede un backend Xorg. Su Ubuntu 24.04, GNOME gira su Wayland per impostazione predefinita. Se si intende utilizzare VNC con GNOME, disabilitare prima Wayland come descritto nella sezione xrdp qui sotto (WaylandEnable=false in /etc/gdm3/custom.conf). In caso contrario, si potrebbe ottenere una schermata nera.
Su Ubuntu 24.04, dbus-launch potrebbe non essere installato di default. Se ricevi un errore «comando non trovato» all’avvio della sessione VNC, installalo prima: apt install dbus-x11 -y
Configurare la sessione VNC
Creare la directory di configurazione e il file di avvio:
mkdir -p ~/.vnc nano ~/.vnc/xstartup
Inserisci il seguente testo:
#!/bin/bash export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR exec dbus-launch --exit-with-session gnome-session --session=ubuntu
Se avete installato Xfce anziché GNOME, sostituite l’ultima riga con: exec startxfce4
Rendi il file eseguibile:
chmod +x ~/.vnc/xstartup
Avvia il server VNC
vncserver :1 -geometry 1920x1080 -depth 24
Questo avvia una sessione VNC sul display :1 (porta 5901). Il display :2 utilizzerebbe la porta 5902 e così via.
Per arrestare il server:
vncserver -kill :1
Apri la porta del firewall
ufw allow 5901/tcp
Se possibile, limitare l'accesso a un intervallo IP specifico invece di consentire tutte le origini: ufw allow from 192.168.1.0/24 to any port 5901 proto tcp
Connettersi da Windows
Scarica e installa TightVNC o RealVNC Viewer.
Apri il client e inserisci: il-tuo-ip-del-server:5901

Inserisci la password VNC quando richiesto. Una volta connesso, vedrai il desktop remoto:

Connessione da macOS
macOS include un client VNC integrato. Apri il Finder, premi Cmd+K e inserisci:
vnc://your-server-ip:5901
Inserisci la password quando richiesto.
Il traffico VNC non è crittografato per impostazione predefinita. Inoltra la connessione tramite SSH: ssh -L 5901:localhost:5901 user@il-tuo-ip-del-server, quindi connettiti a localhost:5901 dal tuo client VNC.
Opzione 2. Connettersi tramite RDP
RDP (Remote Desktop Protocol) è il protocollo standard utilizzato da Desktop remoto di Windows. Su Ubuntu, è fornito dal pacchetto xrdp.
Le sessioni GNOME tramite xrdp potrebbero risultare instabili su alcune versioni di Ubuntu, specialmente quando Wayland è abilitato. Xfce offre generalmente un'esperienza di desktop remoto più affidabile.
Disattiva Wayland
xrdp richiede un backend Xorg. Apri il file di configurazione di GDM:
nano /etc/gdm3/custom.conf
Individuare la riga #WaylandEnable=false, rimuovere il commento e salvare il file:
WaylandEnable=false
Installare xrdp
apt install xrdp -y
Abilita e avvia il servizio:
systemctl enable --now xrdp
Aggiungi l'utente xrdp al gruppo ssl-cert
adduser xrdp ssl-cert
Configurare il file di avvio della sessione
Apri /etc/xrdp/startwm.sh e aggiungi le seguenti righe prima dell'ultima riga exec:
export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR
Aprire la porta del firewall
ufw allow 3389/tcp
Se possibile, limitare l'accesso a un intervallo di indirizzi IP specifico: ufw allow from 192.168.1.0/24 to any port 3389 proto tcp
Riavvia xrdp
systemctl restart xrdp
Connettersi da Windows
Premi Win+R, digita mstsc, premi Invio. Inserisci l'indirizzo IP del tuo server e fai clic su Connetti.

Nella schermata di accesso di xrdp, lasciare la sessione impostata su Xorg e inserire il nome utente e la password di Ubuntu:

Dopo aver effettuato l’accesso, verrà visualizzato il desktop remoto:

Connettiti da macOS
Installa Microsoft Remote Desktop dall'App Store.
Fai clic su Aggiungi PC, inserisci l’indirizzo IP del server.
Accedi con il tuo nome utente e la tua password di Ubuntu.
Confronto: VNC vs RDP
| VNC | RDP | |
|---|---|---|
| Protocollo | Standard aperto | Microsoft (implementazione open source tramite xrdp) |
| Client Windows | È necessario un software di terze parti | Integrato (mstsc) |
| Client macOS | Integrato (Finder) | Microsoft Remote Desktop (App Store) |
| Crittografia | Nessuna per impostazione predefinita (utilizzare un tunnel SSH) | TLS (gestito da xrdp) |
| Prestazioni | Moderate | In generale più fluido |
| Supporto multiutente | Limitato | Migliore |
Risoluzione dei problemi
Schermo nero dopo l'accesso tramite RDP — assicurarsi che le variabili d'ambiente richieste siano state aggiunte a /etc/xrdp/startwm.sh come descritto sopra e che Wayland sia disabilitato in /etc/gdm3/custom.conf. Quindi riavviare xrdp: systemctl restart xrdp
Connessione VNC rifiutata — verificare che il server VNC sia in esecuzione: vncserver -list. Assicurarsi che la porta 5901 sia aperta nel firewall.
Impossibile avviare la sessione VNC — terminare la sessione e cancellare i file di blocco, quindi riavviare:
vncserver -kill :1 rm -f ~/.vnc/*.log ~/.vnc/*.pid vncserver :1
La connessione si interrompe o compare una schermata grigia dopo aver inserito la password in xrdp — creare o modificare il file ~/.xsessionrc per l’utente e aggiungere:
export XDG_SESSION_TYPE=x11
Assicurati inoltre che l’utente non sia connesso contemporaneamente a una sessione desktop locale — esci dalla sessione locale prima di collegarti tramite xrdp.
Errore di autenticazione in xrdp — assicurarsi di effettuare l’accesso con un utente e una password di sistema Ubuntu validi, non con la password VNC.
xrdp si connette ma si disconnette immediatamente — controlla lo stato di entrambi i servizi:
systemctl status xrdp systemctl status xrdp-sesman
Impossibile avviare GNOME tramite VNC — su Ubuntu 24.04, potrebbe essere necessario installare separatamente il pacchetto xorg: apt install xorg -y