Torna al blog

Installazione e configurazione di Virtual Network Computing (VNC) su Ubuntu 20.04

Installazione e configurazione di Virtual Network Computing (VNC) su Ubuntu 20.04

Virtual Network Computing (VNC) è un sistema di condivisione dello schermo utilizzato per accedere in remoto alle interfacce grafiche utente. Utilizza il protocollo remote frame buffer che consente a un server (lato utente) di connettersi con un altro lato (client). VNC è sicuro, affidabile e funziona su tutti i sistemi operativi.

RealVNC, UltraVNC, Xfce, TightVNC, solo per citarne alcuni, sono i client VNC più popolari utilizzati oggi. Tra l'elenco delle alternative disponibili, sei libero di scegliere qualsiasi VNC a tua convenienza. In questo tutorial, ti guideremo attraverso i passaggi per l'installazione e la configurazione di VNC su Ubuntu 20.04. Installeremo Xfce per la sua velocità, leggerezza ed eccellenti prestazioni.

Inizieremo configurando un server VNC su un server Ubuntu e stabilendo una connessione sicura tramite il tunnel SSH. Infine, utilizzeremo un programma client VNC sulla nostra macchina locale per interagire con il server attraverso un ambiente desktop grafico.

Prerequisiti

Per seguire questo tutorial, avrai bisogno di:

Passo 1 — Installare l'ambiente desktop e il server VNC

A differenza delle versioni precedenti di Ubuntu, Ubuntu 20.04 non viene fornito con un VNC preinstallato. Come primo passo, installeremo i pacchetti necessari dal repository ufficiale di Ubuntu. Prima di procedere, aggiorniamo i pacchetti esistenti:

Ora installeremo Xfce e il pacchetto xfce4-goodies utilizzando il comando:

Durante l'installazione del pacchetto, vedrai una schermata che ti chiederà di scegliere un display manager predefinito per Xfce. Ignora il messaggio o impostalo come predefinito, quindi premi INVIO.

Un display manager è un programma che consente agli utenti di accedere a un ambiente desktop tramite un'interfaccia grafica. In questo tutorial, utilizzeremo Xfce per la connessione con un client VNC in cui abbiamo effettuato l'accesso come utente Ubuntu non-root. Pertanto, la scelta del display manager non avrà alcun impatto sulla nostra installazione.

Dopo l'installazione di Xfce, installeremo il server TightVNC:

Nel passaggio successivo, usa il comando vncserver per impostare una password di accesso VNC e creare i file di configurazione iniziali. Digita quanto segue per avviare l'istanza del server VNC:

Successivamente, imposta una password di lunghezza compresa tra 6 e 8 caratteri e premi INVIO. Vedrai un messaggio di richiesta:

Dopo aver verificato la password, avrai l'opzione di creare una password di sola visualizzazione. Gli utenti che accedono utilizzando la password di sola visualizzazione non possono controllare il VNC con il mouse o la tastiera. Anche in questo caso, è solo consigliato e puoi abilitarlo se ne hai bisogno, altrimenti puoi saltarlo.

In futuro, se desideri modificare la password o aggiungere una password di sola visualizzazione, utilizza il comando:

A questo punto, avrai tutte le configurazioni predefinite create per il server e una porta display 5901 avviata come :1. VNC può avviare più istanze su altre porte display come :2, :3, e :4 che si riferiscono alla porta 5902, 5903, e 5904 rispettivamente:

Il tuo server VNC è ora installato e funzionante con successo. Nel prossimo passo, configureremo il server per avviare Xfce per ottenere l'accesso tramite l'interfaccia grafica.

Passo 2 — Configurare il server VNC

Sotto la directory home, troverai la cartella .vnc che contiene tutti i file di configurazione chiamati startup. Inizialmente, troverai in esecuzione il file di avvio che è stato creato automaticamente quando abbiamo eseguito il comando vncserver nel Passo-1. Lo script di avvio è stato creato quando hai eseguito il comando vncserver nel passo precedente. Tuttavia, ora ne creerai uno tuo per avviare il desktop Xfce. Dovremo anche creare il nostro server per avviare il desktop Xfce perché la configurazione di VNC cambierà.

Prima di procedere oltre, dobbiamo arrestare l'istanza del server VNC in esecuzione sulla porta 5901:

Vedrai il seguente output:

Invece di 17648, potresti ottenere un numero diverso e va bene così. Successivamente, modificheremo il file xstartup . Prima di apportare qualsiasi modifica al file, facciamo un backup del file originale:

Successivamente, crea un nuovo file xstartup e aprilo in un qualsiasi editor di testo. In questo tutorial, useremo nano:

Una volta fatto, aggiungi le seguenti righe al file:

Ogni volta che avvii o riavvii il server VNC, questi comandi vengono eseguiti automaticamente. La prima riga è lo Shebang che informa il sistema sulle informazioni dell'interprete a cui passare il file ~/.vnc/xstartup per l'esecuzione. La riga successiva xrdb $HOME/. Xresources, informa il framework GUI di VNC di leggere il file Xresources dell'utente del server. Infine, l'ultima riga chiede al server di avviare Xfce. Dopo aver aggiunto queste righe, salva e chiudi il file.

Dobbiamo rendere il file eseguibile in modo che il server VNC possa utilizzare il nuovo file di avvio:

Successivamente, riavvia il server VNC:

Ora avrai l'opzione -localhost aggiunta qui. Il localhost associa il server VNC all'interfaccia di loopback del tuo server, consentendo connessioni solo dai server installati. Successivamente, stabiliremo un tunnel SSH tra la nostra macchina locale e il server. L'obiettivo è aggiungere un ulteriore livello di sicurezza intorno a VNC. Perché? Perché gli utenti che avranno accesso saranno quelli che hanno già l'accesso SSH al server.

Vedrai il seguente output:

Una volta impostata la configurazione, siamo pronti per connetterci al server VNC dalla nostra macchina locale.

Passo 3 — Connettersi in modo sicuro al desktop VNC

Quando ci si connette al server, VNC non utilizza protocolli sicuri. Pertanto, dobbiamo stabilire un tunnel SSH e chiedere al client VNC di effettuare una connessione utilizzando il tunnel invece di consentirgli di effettuare una connessione diretta da solo.

Creeremo una connessione SSH sul nostro computer locale utilizzando il comando ssh che reindirizza alla connessione localhost. Usa il comando sul terminale per creare una connessione SSH:

Decifriamo il codice sopra:

  • -L 59000:localhost:5901: L'opzione -L specifica che la porta indicata sul computer locale ( 59000) andrà all'host e alla porta indicati sul server di destinazione ( localhost:5901). Ciò significa che la porta 5901 sul server di destinazione sarà definito come your_server_ip). La porta locale specificata è arbitraria. Finché la porta non è già associata a un altro servizio, sei libero di usarla come porta di inoltro per il tuo tunnel.

  • -C: Abilita la compressione che aiuta ulteriormente a ridurre al minimo il consumo di risorse e ad accelerare le prestazioni.

  • -N: Utile per l'inoltro delle porte. Questo informa ssh di non eseguire alcun comando remoto.

  • -l cloudsigma your_server_ip: Lo switch -l consente di specificare l'utente con cui si desidera accedere dopo essersi connessi al server.

Il comando precedente è un modo più sicuro per stabilire una connessione protetta rispetto alla semplice apertura del firewall del server per consentire connessioni alla porta 5901 da qualsiasi luogo. Una volta stabilita la connessione, il tunnel SSH inoltra i contenuti dalla porta 5901 sul tuo VNC alla porta 59000 sulla tua macchina locale attraverso la porta SSH predefinita; porta 22.

Puoi anche usare PuTTY per connetterti al tuo server. Apri PuTTY, vai sul lato sinistro del terminale PuTTY e trova il ramo Connection. Quindi, espandi il ramo SSH e fai clic su Tunnels. Nella Options controlling SSH port forwarding schermata, inserisci 59000 come Source Port e localhost:5901 come Destination:

VNC image 1

Lascia tutte le opzioni invariate, fai clic su Add, e poi su Apply per implementare il tunnel. Una volta avviato il tunnel, usa un client VNC per connetterti a localhost: 59000. Per impostazione predefinita, ti verrà richiesto di autenticarti utilizzando la password che abbiamo creato nel Passo-1. Una volta connesso, vedrai il desktop Xfce predefinito:

VNC 2

Puoi accedere e gestire i file nella directory home. Inoltre, configura il tuo server VNC per essere eseguito come un servizio systemd.

Passo 4 — Eseguire VNC come servizio Systemd

La configurazione del server VNC per l'esecuzione come servizio systemd consente la gestione del server. Sei in grado di avviare, arrestare, riavviare o terminare, in base alle tue esigenze e comodità. Ogni volta che il server si avvia, puoi utilizzare i comandi di gestione di systemd per verificare se il server è ON o OFF.

Innanzitutto, creeremo un nuovo file di unità per specificare la porta del display VNC che vogliamo utilizzare durante la gestione dei servizi. Definisci un file di unità:

Troverai il simbolo @ alla fine del nome del file, che ti consente di passare un argomento per utilizzare la configurazione del servizio.

Successivamente, aggiungi il set di righe al file di unità. Rinomina User, Group, WorkingDirectory, e il nome utente nel valore di PIDFILE:

Se il VNC è già in esecuzione, il comando ExecStartPre lo arresterà. Il comando ExecStart avvia VNC e imposta la profondità del colore a 24 bit con una risoluzione di 1280×800. Puoi modificare queste opzioni di avvio in base alle tue esigenze. Inoltre, nota che il comando ExecStart include nuovamente l'opzione -localhost . Una volta fatto, salva e chiudi il file di unità.

Successivamente, introduci il nuovo file di unità nel tuo sistema:

Attiva ON il file di unità:

Il 1 che segue il @ il simbolo indica su quale numero di display deve apparire il servizio. Nel nostro caso, è quello predefinito :1 come discusso nel Passo-2. Se il VNC è ancora in esecuzione, puoi arrestare l'istanza corrente del server VNC utilizzando il kill comando:

Quindi, avvialo come faresti con qualsiasi altro servizio systemd:

Puoi verificare che si sia avviato con questo comando:

Vedrai l'output:

Il tuo server VNC è ora pronto per essere utilizzato ogni volta che il tuo server si avvia, e puoi gestirlo con i systemctl comandi come qualsiasi altro servizio systemd. Tuttavia, non noterai alcuna differenza sul lato client. Per riconnetterti, avvia il tuo SSH tunnel utilizzando:

Puoi effettuare nuovamente le connessioni utilizzando il tuo client VNC a localhost:59000 con il tuo server.

Conclusione

Inizialmente, configurare un server VNC può sembrare impegnativo, specialmente quando si tenta di connettersi con un nuovo computer. Una volta stabilita una connessione affidabile, lavorare con un computer remoto sarà divertente ed emozionante. Con un server VNC protetto e funzionante sul tuo server Ubuntu 20.04, puoi gestire facilmente le tue risorse, file, software e impostazioni con un'interfaccia grafica intuitiva. L'uso di una larghezza di banda eccessiva è forse uno svantaggio dell'utilizzo di VNC. Puoi superarlo utilizzando schermi a bassa risoluzione e in scala di grigi per un trasferimento più rapido.

Buon computing!

author

Shreyas Patil

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.