Come configurare VNC su Ubuntu: Guida completa con interfaccia grafica, input giapponese e tunnel SSH sicuro

目次

1. Introduzione

Perché usare VNC su Ubuntu?

Tra le distribuzioni Linux, Ubuntu è una delle più popolari ed è ampiamente utilizzata per lo sviluppo, le operazioni di server e molti altri scopi. Normalmente i server Ubuntu vengono gestiti tramite la riga di comando, ma ci sono molte situazioni in cui è desiderabile utilizzare un’interfaccia grafica (GUI).

È qui che entra in gioco VNC (Virtual Network Computing). Utilizzando VNC, è possibile connettersi in remoto a una macchina Ubuntu attraverso una rete e lavorare come se si stesse operando su un desktop locale. Questa modalità visiva e intuitiva abbassa notevolmente la barriera per i principianti di Linux e per gli utenti Windows, poiché elimina la necessità di affidarsi esclusivamente a comandi complessi da terminale.

La crescente necessità di ambienti desktop remoti

Con l’espansione del lavoro a distanza negli ultimi anni, la domanda di creare ambienti desktop remoti su Ubuntu usando VNC è aumentata in modo significativo. In particolare, installare VNC su un server Ubuntu dedicato allo sviluppo e abilitare operazioni GUI migliora l’efficienza delle attività di configurazione e manutenzione.

Inoltre, esiste una forte richiesta di gestire ambienti Ubuntu basati su cloud o su VPS con una GUI, e VNC funge da ponte efficace per soddisfare tale esigenza.

Pubblico di riferimento e scopo di questo articolo

Questo articolo è destinato ai seguenti lettori:

  • Chi installa VNC su Ubuntu per la prima volta
  • Utenti che non si sentono a proprio agio a lavorare solo con la CLI e desiderano un ambiente GUI
  • Chi si sente limitato da flussi di lavoro solo SSH e preferisce VNC a RDP
  • Utenti che vogliono un ambiente remoto confortevole che includa il supporto per l’input giapponese

Questa guida spiega accuratamente l’intero processo di installazione di un server VNC su Ubuntu e l’abilitazione dell’accesso desktop remoto in modo adatto ai principianti. Copre anche la configurazione dell’input giapponese e connessioni sicure tramite tunnel SSH, rendendola una risorsa completa e pratica.

2. Prerequisiti e preparazione

Cosa verificare prima di installare VNC su Ubuntu

Prima di installare e utilizzare un server VNC su Ubuntu, sono necessari diversi prerequisiti e preparativi. Questa sezione riassume i punti chiave da verificare prima di iniziare.

Versioni di Ubuntu supportate

Questo articolo si rivolge a Ubuntu 20.04 LTS e Ubuntu 22.04 LTS. Queste versioni sono ampiamente utilizzate e offrono una compatibilità stabile con i server VNC e gli ambienti di input giapponese.

Se stai usando una versione diversa, i passaggi di base rimangono gli stessi, ma alcuni nomi di pacchetti o comportamenti potrebbero differire.

Requisiti del server e specifiche consigliate

Poiché VNC è un metodo di accesso remoto basato su GUI, richiede un certo livello di risorse di sistema (CPU e memoria). La configurazione consigliata è la seguente:

  • CPU: Dual-core o superiore (almeno circa 1 GHz)
  • Memoria: 2 GB o più consigliati (presumendo un desktop leggero come Xfce)
  • Storage: Almeno 10 GB di spazio libero su disco
  • Rete: Accesso SSH abilitato e possibilità di aprire la porta VNC (es. 5901 di default) sul firewall

Permessi richiesti e strumenti

L’installazione e la configurazione di un server VNC richiedono quanto segue:

  • Un account utente con privilegi sudo
  • Un client SSH (PuTTY su Windows, Terminal su macOS o Linux)

Poiché la configurazione viene eseguita da remoto, SSH deve essere abilitato sul server Ubuntu. Se SSH non è ancora disponibile, installalo con sudo apt install openssh-server.

Scelta di un ambiente desktop

Poiché VNC trasferisce l’output grafico, è necessario installare un ambiente desktop su Ubuntu. Tuttavia, GNOME (incluso in Ubuntu Desktop) è intensivo in risorse e non è adatto all’uso su server.

Per questo motivo, questo articolo presuppone l’uso di un ambiente desktop leggero come Xfce o MATE:

  • Xfce: leggero, stabile e adatto ai principianti.
  • MATE: interfaccia classica con buone prestazioni e stabilità.

Questa selezione è discussa in modo più dettagliato nelle sezioni successive.

3. Installazione di un Ambiente Desktop

Perché è Necessario un Ambiente Desktop?

Quando si collega a Ubuntu tramite VNC, non verrà visualizzato alcun schermo a meno che non sia installato un ambiente desktop. VNC è progettato per operare remotamente su un’interfaccia grafica, quindi un ambiente solo CLI come Ubuntu Server non può sfruttare appieno VNC.

Scelta di un Ambiente Desktop Leggero

Per l’uso con VNC, un ambiente desktop ideale dovrebbe essere leggero e stabile. Di seguito sono elencate due opzioni popolari.

1. Xfce

Xfce è estremamente leggero e offre buone prestazioni anche su PC più vecchi o ambienti VPS. Fornisce funzionalità essenziali con un design semplice e user-friendly, rendendolo un’ottima scelta per VNC.

2. MATE

MATE è un ambiente desktop classico basato su GNOME 2. Sebbene leggermente più ricco di Xfce in termini di aspetto, rimane relativamente leggero e altamente stabile.

Installazione di Xfce (Raccomandato)

Per installare Xfce, eseguire i seguenti comandi:

sudo apt update
sudo apt install -y xfce4 xfce4-goodies

Il pacchetto xfce4-goodies include strumenti aggiuntivi utili che migliorano l’esperienza desktop.

L’installazione potrebbe richiedere diversi minuti, quindi monitorare il processo per assicurarsi che non si verifichino errori.

Installazione di MATE (Alternativa)

Se si preferisce MATE, installarlo utilizzando i seguenti comandi:

sudo apt update
sudo apt install -y ubuntu-mate-core

MATE consuma leggermente più risorse di Xfce, ma è raccomandato per gli utenti che apprezzano un aspetto e una sensazione desktop tradizionali.

Nota Importante: Non Installare Più Ambienti Desktop

L’installazione di più ambienti desktop (ad esempio Xfce e MATE insieme) non è raccomandata. Complica la selezione della sessione all’accesso e spesso porta a errori di configurazione VNC.

Selezionare e installare solo un ambiente desktop.

4. Installazione e Configurazione del Server VNC

Quale Software Server VNC è Richiesto su Ubuntu?

VNC (Virtual Network Computing) consiste in due componenti: un client e un server. Sul lato Ubuntu, è necessario installare un server VNC, che consente l’accesso remoto all’interfaccia grafica di Ubuntu.

Esistono diverse implementazioni di server VNC disponibili. In questa guida, utilizzeremo TigerVNC, che è una delle opzioni più popolari e affidabili.

  • TigerVNC (Raccomandato) Veloce, stabile e funziona bene con Xfce e MATE.
  • TightVNC Leggero e compatibile con sistemi più vecchi, ma lo sviluppo ha rallentato.

Installazione di TigerVNC

Installare il server TigerVNC utilizzando i seguenti comandi:

sudo apt update
sudo apt install -y tigervnc-standalone-server tigervnc-common

Una volta completata l’installazione, procedere con la configurazione iniziale.

Avvio Iniziale e Impostazione della Password

La prima volta che si avvia il server VNC, è necessario impostare una password di connessione.

vncserver

Verranno visualizzati prompt simili ai seguenti:

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)?

La “password di sola visualizzazione” è per l’accesso in sola lettura. Nella maggior parte dei casi, selezionare n è sufficiente.

Modifica del File di Configurazione VNC (xstartup)

Dopo aver avviato una sessione VNC, viene creato un file chiamato ~/.vnc/xstartup nella directory home. Questo file è uno script di avvio che specifica quale ambiente desktop lanciare all’avvio della sessione VNC.

Configurazione per Xfce

#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &

Configurazione per MATE

#!/bin/sh
xrdb $HOME/.Xresources
mate-session &

Dopo la modifica, concedere i permessi di esecuzione allo script:

chmod +x ~/.vnc/xstartup

Avvio e Verifica di una Sessione VNC

Una volta che tutto è pronto, procedere avviando una sessione VNC:

vncserver :1

Il valore :1 rappresenta il numero del display virtuale. Al primo avvio, è tipicamente :1.

Quando ci si connette via VNC, viene utilizzato il numero di porta corrispondente (ad esempio, 5901), calcolato come 5900 + numero del display.

Interrompere una sessione VNC

Per interrompere la sessione, usa il comando seguente:

vncserver -kill :1

5. Configurare l’avvio automatico del server VNC

Perché abilitare l’avvio automatico per il server VNC?

Per impostazione predefinita, il server VNC deve essere avviato e arrestato manualmente per ogni utente. Eseguire il comando vncserver ogni volta è scomodo, e le sessioni VNC non si avvieranno automaticamente dopo il riavvio del server.

Per questo motivo, è prassi comune registrare il server VNC come servizio systemd e abilitare l’avvio automatico. Questo garantisce un ambiente VNC stabile e persistente.

Creare un file di servizio systemd

Crea un file di servizio systemd dedicato per ogni utente. In questo esempio, il numero di display VNC è impostato a :1.

sudo nano /etc/systemd/system/vncserver@:<display-number>.service

Ad esempio, per creare vncserver@:1.service, usa:

sudo nano /etc/systemd/system/vncserver@\:1.service

Copia e incolla il contenuto seguente, sostituendo il nome utente con il tuo:

[Unit]
Description=Start TigerVNC server at startup
After=network.target

[Service]
Type=forking
User=yourusername
PAMName=login
PIDFile=/home/yourusername/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -geometry 1280x800 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Sostituisci yourusername con il tuo nome utente reale.
Il parametro geometry definisce la risoluzione dello schermo e può essere regolato secondo necessità.

Abilitare e avviare il servizio

Dopo aver salvato il file di servizio, ricarica systemd e abilita il servizio:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service

Verificare lo stato del servizio

Controlla lo stato del servizio per confermare che sia in esecuzione correttamente:

sudo systemctl status vncserver@:1.service

Se vedi Active: active (running), la configurazione è avvenuta con successo.

Nota importante: servizio specifico per utente

Questa configurazione si applica solo a una sessione VNC di un singolo utente. Se più utenti necessitano di accesso VNC, è necessario creare un file di servizio systemd separato per ciascun utente.

6. Connettersi da un client

Cos’è un client VNC?

Installare solo un server VNC su Ubuntu non consente l’operazione remota. Sul lato client (il computer che utilizzi), devi installare un visualizzatore VNC (client VNC) e connetterti al server Ubuntu da lì.

Client VNC consigliati

I seguenti client VNC sono ampiamente usati e molto apprezzati per la loro usabilità e compatibilità con Ubuntu:

Client NameSupported OSFeatures
RealVNC ViewerWindows / Mac / Linux / iOS / AndroidSimple, stable, and suitable for enterprise use
TigerVNC ViewerWindows / Mac / LinuxOpen source and free to use
UltraVNCWindowsFeature-rich but geared toward advanced users
RemminaLinux onlyGUI client supporting multiple protocols

Usare RealVNC Viewer o TigerVNC Viewer è generalmente la scelta più sicura. Entrambi sono gratuiti.

Come connettersi da un client (Esempio: RealVNC Viewer)

I seguenti passaggi descrivono come connettersi usando RealVNC Viewer. La procedura è simile per TigerVNC Viewer.

1. Installa RealVNC Viewer

Scarica e installa la versione appropriata per il tuo sistema operativo dal sito ufficiale (https://www.realvnc.com/).

2. Inserisci l’indirizzo del server VNC

Dopo aver avviato l’applicazione, inserisci la destinazione come segue:

<server-ip-address>:5901

oppure

<server-ip-address>:1

Entrambi i formati sono equivalenti (5900 + numero del display = numero della porta).

3. Inserisci la password

Inserisci la password VNC che hai configurato in precedenza.
Se ha successo, verrà mostrata la scrivania di Ubuntu.

Risoluzione dei problemi: impossibile connettersi

Se la connessione VNC fallisce, considera le seguenti cause.

● Porta non aperta

Verifica se la porta 5901 è bloccata da un firewall o da un gruppo di sicurezza cloud.

● Stai usando un tunnel SSH?

Se non stai utilizzando la connessione tunnel SSH descritta nella sezione successiva, la porta VNC potrebbe non essere accessibile pubblicamente per motivi di sicurezza.

Connessione da macOS

Su macOS, puoi anche utilizzare RealVNC o TigerVNC Viewer. Dopo l’installazione, connettiti specificando l’indirizzo IP e la porta nello stesso modo che su Windows.

Utilizzo di uno Smartphone

Le app client VNC sono anche disponibili per iOS e Android. Questo può essere utile per accedere a un server Ubuntu da un tablet, ma l’usabilità è generalmente inferiore a quella di un PC ed è meglio riservarla per uso di emergenza.

7. Configurazione dell’Input Giapponese

Perché l’Input Giapponese È Necessario in un Ambiente VNC

Anche dopo aver abilitato l’accesso remoto a Ubuntu tramite VNC, l’input giapponese è spesso non disponibile per impostazione predefinita, il che può ostacolare attività come la scrittura di documenti, la ridenominazione di file o l’uso di strumenti di chat.

Ubuntu è frequentemente installato in un ambiente inglese, e le localizzazioni giapponesi e i metodi di input (IME) potrebbero non essere installati. Questa sezione spiega come abilitare un input giapponese confortevole all’interno di una sessione VNC.

Installazione della Localizzazione Giapponese

Prima, abilita la localizzazione giapponese per supportare la visualizzazione e l’input giapponese:

sudo apt update
sudo apt install -y language-pack-ja

Poi aggiorna le impostazioni della localizzazione:

sudo update-locale LANG=ja_JP.UTF-8

Dopo aver effettuato il logout e il login o aver riavviato, la lingua dell’interfaccia grafica potrebbe passare al giapponese. Se la visualizzazione diventa instabile in VNC, è accettabile mantenere l’interfaccia in inglese.

Scelta di un Metodo di Input: fcitx vs ibus

I due metodi di input giapponese più comuni su Ubuntu sono:

Input MethodFeatures
fcitx-mozcLightweight, easy to configure, and stable in VNC environments
ibus-mozcWell integrated with GNOME, but sometimes unstable in VNC

Per gli ambienti VNC, fcitx-mozc è generalmente raccomandato a causa di meno problemi.

Installazione e Configurazione di fcitx-mozc

sudo apt install -y fcitx-mozc

Successivamente, imposta le variabili d’ambiente richieste in modo che il metodo di input si avvii correttamente.

Aggiungi quanto segue a ~/.xprofile o ~/.profile:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

Poi aggiungi il comando per avviare fcitx:

fcitx &

È anche comodo includere questa riga nel file ~/.vnc/xstartup.

Esempio (file xstartup parziale):

#!/bin/sh
xrdb $HOME/.Xresources
fcitx &
startxfce4 &

Verifica dell’Input Giapponese

Dopo aver effettuato il login tramite VNC, verifica che “Mozc” sia abilitato nello strumento di configurazione fcitx (come fcitx-config-gtk3).

Puoi attivare e disattivare l’IME usando il tasto Half-width/Full-width o Ctrl + Space.

Problemi Comuni e Soluzioni

SymptomCause and Solution
IME does not startfcitx not launched or environment variables misconfigured
Input works but Kanji conversion failsMozc not enabled or fcitx configuration incomplete
fcitx must be started manually every timefcitx & missing from .xstartup

Questo completa la configurazione per un input giapponese fluido all’interno di una sessione VNC. La sezione successiva spiega come proteggere le connessioni VNC utilizzando il tunneling SSH.

8. Protezione di VNC con Tunneling SSH

Le Connessioni VNC Non Sono Criptate per Impostazione Predefinita

Sebbene VNC sia una soluzione comoda per il desktop remoto, ha una seria debolezza: il suo traffico non è criptato per impostazione predefinita. Questo crea un rischio che password o dati dello schermo possano essere intercettati da terze parti.

Per questo motivo, quando si connette a VNC tramite internet, è fortemente raccomandato utilizzare un tunnel SSH per criptare la comunicazione.

Cos’è un Tunnel SSH?

Un tunnel SSH utilizza una connessione SSH per inoltrare in modo sicuro porte specifiche. Creando un “percorso” criptato tra il client VNC e il server, mitiga i rischi di sicurezza intrinseci di VNC.

Come Configurare un Tunnel SSH (Inoltro di Porta Locale)

I seguenti esempi dimostrano come creare un tunnel SSH, partendo da un client Windows.

Tunneling SSH su Windows Utilizzando PuTTY

1. Installa PuTTY

Scarica e installa PuTTY dal sito ufficiale (https://www.putty.org/).

2. Inserisci i Dettagli di Connessione

Nella scheda “Session”, specifica l’indirizzo IP del server VNC e la porta 22 (SSH).

3. Configura l’Inoltro di Porta

Naviga a “Connection” → “SSH” → “Tunnels”.

  • Porta di origine : 5901
  • Destinazione : localhost:5901
  • Seleziona “Locale” e fai clic su “Aggiungi”

4. Avvia la connessione SSH

Fai clic su “Open” per avviare la connessione SSH. La porta locale 5901 ora sarà inoltrata in modo sicuro alla porta 5901 sul server VNC.

Tunneling SSH su macOS / Linux

Esegui il seguente comando in un terminale:

ssh -L 5901:localhost:5901 username@server-ip

Esempio:

ssh -L 5901:localhost:5901 naoya@192.168.1.100

Una volta connesso, apri il tuo client VNC e connettiti usando:

localhost:5901

Note importanti durante la connessione

  • Impostazioni del firewall : La porta 22 (SSH) deve essere aperta.
  • Input del visualizzatore VNC : Usa localhost:5901, non l’indirizzo IP del server.

Vantaggi dell’utilizzo di un tunnel SSH

ItemDescription
Encrypted communicationProtects VNC traffic via secure SSH encryption
Simplified firewall rulesNo need to expose VNC ports externally
Connection loggingSSH logs enable monitoring of access attempts

Utilizzando un tunnel SSH, puoi accedere in modo sicuro a VNC anche tramite Internet. Questa è una configurazione essenziale per server accessibili pubblicamente.

9. Problemi comuni e soluzioni

Problema 1: Schermo nero o grigio dopo la connessione

Causa:

  • Errori nel file ~/.vnc/xstartup
  • La sessione desktop non è avviata correttamente

Soluzione:

  1. Verifica il contenuto di ~/.vnc/xstartup, ad esempio (Xfce):
    #!/bin/sh
    xrdb $HOME/.Xresources
    startxfce4 &
    
  1. Assicurati che il file sia eseguibile:
    chmod +x ~/.vnc/xstartup
    
  1. Riavvia la sessione VNC:
    vncserver -kill :1
    vncserver :1
    

Problema 2: Input giapponese non funziona

Causa:

  • fcitx o Mozc non in esecuzione
  • Variabili d’ambiente non impostate correttamente

Soluzione:

  1. Conferma che le seguenti voci esistano in .xprofile o .xsession :
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS="@im=fcitx"
    
  1. Assicurati che fcitx & sia incluso in ~/.vnc/xstartup :
    fcitx &
    
  1. Riavvia la sessione VNC e conferma che Mozc sia abilitato nello strumento di configurazione di fcitx.

Problema 3: Connessione VNC instabile o alta latenza

Causa:

  • Larghezza di banda di rete insufficiente
  • Risoluzione o profondità colore impostate troppo alte

Soluzione:

  1. Riduci la risoluzione o la profondità colore quando avvii VNC:
    vncserver :1 -geometry 1024x768 -depth 16
    
  1. Usa un tunnel SSH per migliorare stabilità e sicurezza

  2. Abilita le impostazioni di ottimizzazione nel client VNC, se disponibili

Problema 4: VNC si connette ma non appare la schermata di login

Causa:

  • La sessione GUI non è in esecuzione correttamente
  • VNC non utilizza un display manager

Soluzione:

VNC funziona in modo indipendente dal server X di sistema, quindi la schermata di login standard di Ubuntu (come GDM) non viene mostrata. Questo è un comportamento previsto. La sessione visualizzata è definita da .vnc/xstartup.

Se hai bisogno di una schermata di login tradizionale o di una gestione multiutente, considera l’uso di RDP (xrdp) al posto di VNC.

Problema 5: Impossibile avviare la sessione VNC o accesso negato

Causa:

  • Configurazione errata del file di servizio
  • File PID obsoleti che causano conflitti

Soluzione:

  1. Ferma completamente la sessione VNC:
    vncserver -kill :1
    
  1. Rimuovi i file .pid o .log non necessari nella directory .vnc:
    rm ~/.vnc/*.pid
    rm ~/.vnc/*.log
    
  1. Avvia nuovamente la sessione:
    vncserver :1
    

Suggerimenti aggiuntivi

  • Controlla i log in ~/.vnc/*.log per indizi di risoluzione dei problemi.
  • Per più utenti, avvia VNC con numeri di display diversi (es., :2, :3).

10. Riepilogo

Revisione del processo di configurazione

  • Prerequisiti e preparazione Conferma versione Ubuntu, ambiente desktop e accesso SSH
  • Installazione dell’ambiente desktop Installa un’interfaccia grafica leggera e stabile come Xfce o MATE
  • Configurazione di TigerVNC Usa TigerVNC per la stabilità e configura numeri di sessione e risoluzione
  • Avvio automatico Registra VNC come servizio systemd per ripristinare le sessioni dopo il riavvio
  • Metodi di connessione client Connettiti usando RealVNC Viewer o TigerVNC Viewer con la porta corretta
  • Configurazione input giapponese Installa fcitx-mozc e configura variabili d’ambiente per supporto completo
  • Tunnel SSH Crittografa la comunicazione per mitigare i rischi di sicurezza di VNC
  • Risoluzione problemi Soluzioni pratiche per problemi comuni

Considerazioni Operative per il Futuro

Una volta configurato, un ambiente VNC ti permette di operare Ubuntu quasi come se fosse locale. È particolarmente adatto per i seguenti scenari:

  • Operare sistemi Ubuntu VPS o basati su cloud tramite GUI
  • Condividere un ambiente tra membri del team (usando numeri di display diversi)
  • Aiutare i principianti a imparare Linux attraverso una GUI invece che solo la riga di comando

Tuttavia, sebbene VNC sia leggero e conveniente, richiede cautela per carichi di lavoro multimediali o ambienti con requisiti di sicurezza rigorosi. In tali casi, alternative come xrdp o NoMachine potrebbero valere la pena di considerare.

Note Finali

Sebbene configurare VNC su Ubuntu possa sembrare complesso all’inizio, è del tutto realizzabile seguendo ogni passo con attenzione. Speriamo che questa guida ti aiuti a costruire un ambiente desktop remoto Ubuntu pratico e confortevole.

Se incontri problemi durante la configurazione, non esitare a contattarci tramite commenti o social media. Che la tua esperienza con Ubuntu diventi ancora più produttiva e piacevole.

年収訴求