VNC (Virtual Network Computing) ti consente di utilizzare il tuo server proprio come usi il tuo computer, con l'interfaccia grafica utente (GUI), desktop, e il mouse e la tastiera. Rende l'informatica più semplice per gli utenti che hanno appena iniziato a lavorare su un server.
CloudSigma ti consente di accedere a VNC subito dopo aver creato il server. Oltre a questo, in questo tutorial, configurerai un server VNC su Ubuntu 18.04 e ti connetterai ad esso utilizzando un tunnel sicuro. Per questo tutorial, utilizzerai TigerVNC, un pacchetto server VNC leggero e veloce. Consentirà un'esperienza fluida, anche su reti lente.
Prerequisiti
Innanzitutto, devi creare una macchina. Puoi farlo facilmente nella sezione compute della WebApp di CloudSigma:

Per questo tutorial, puoi utilizzare le seguenti risorse:
CPU: 8 GHz
RAM: 8 GB
SSD: 50 GB
Puoi montare il disco con Ubuntu 18.04 immagine LTS disponibile nella libreria di CloudSigma:
Ubuntu 18.04: preinstallato a 64 bit con driver VirtIO, superuser, Python 2.7.17, Pip 20.0.2 OpenSSL 1.1.1d, Cloud-init e gli ultimi aggiornamenti fino al 2019-03-03.
Dopo aver avviato la macchina, puoi aggiornare tutti i repository e i pacchetti esistenti sulla macchina eseguendo i seguenti comandi:
|
1 2 |
sudo apt update sudo apt upgrade |
Funzionalità VNC di CloudSigma
CloudSigma ti offre un modo semplice per accedere alle tue macchine tramite VNC.

Puoi fare clic sul pulsante di attivazione di VNC Tunnel’s per abilitarlo. Una volta fatto, vedrai questa schermata.

Se hai associato una chiave SSH, dovrai accedere al server e modificare la password utilizzando il seguente comando:
|
1 2 3 |
ssh -i key.pem cloudsigma@IP sudo passwd cloudsigma |
Se non hai associato una chiave SSH, puoi saltare il passaggio precedente. Troverai la password nelle Note di installazione.
Puoi fare clic su ‘Display VNC’ per aprire la finestra VNC nel browser o su ‘Display VNC URL’ per vedere i dettagli necessari per connetterlo a un client VNC. Quando fai clic su ‘Display VNC’, si aprirà una nuova scheda che ti chiederà le credenziali. Puoi usarlo nello stesso modo in cui useresti la VM con un client VNC.

Ora vedremo l'altro modo per installare VNC su un server.
Installazione del server VNC
L'immagine di Ubuntu non include i pacchetti GUI per impostazione predefinita. Installeremo i pacchetti per l'ultimo ambiente desktop XFCE e il pacchetto TigerVNC disponibile nel repository di Ubuntu.
Puoi installare il pacchetto XFCE utilizzando il seguente comando:
sudo apt install xfce4 xfce4-goodies
Dopo l'installazione dei pacchetti XFCE, puoi installare il server TigerVNC utilizzando il seguente comando:
|
1 |
sudo apt install tightvncserver |
Per completare la configurazione, esegui il seguente comando e imposta una password per la connessione VNC:
|
1 |
vncserver |
Durante l'esecuzione del comando precedente, ti verrà chiesto se desideri accedere con una password di sola visualizzazione. Con una password di sola visualizzazione, puoi solo vedere lo schermo ma non utilizzare il sistema. Questa opzione sarebbe utile se desideri che qualcun altro possa vedere lo schermo ma non utilizzarlo.
Successivamente, il comando creerà tutte le configurazioni richieste. In questa fase puoi utilizzare il server VNC da un sistema remoto o dal tuo computer. Come parte di questo tutorial, configureremo ulteriormente il nostro server prima di utilizzarlo.
Configurazione del server VNC
In questa sezione, ti mostreremo come configurare il desktop preferito da utilizzare.
Devi configurare questi comandi in un file chiamato ‘xstartup’ nella cartella .vnc della tua home directory. Quando hai eseguito il comando vncserver la prima volta, è stato creato lo script di avvio. Ne creerai un altro per avviare il desktop XFCE.
Inoltre, quando hai eseguito il comando vncserver per la prima volta, ha avviato un'istanza del server predefinita con la porta 5901. Questa porta è chiamata porta di visualizzazione ed è indicata da VNC come “:1”. Se esegui nuovamente il comando, VNC creerà un'altra istanza “:2” su altre porte, e così via.
Poiché stai per configurare il server VNC, arresta le istanze già in esecuzione:
|
1 |
vncserver -kill :1 |
Prima di modificare il file di avvio, esegui un backup del file originale:
|
1 |
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak |
Ora puoi modificare il file originale utilizzando l'editor vim e sostituire il suo contenuto con il seguente:
|
1 2 3 4 5 6 7 |
vim ~/.vnc/xstartup Contenuto: #!/bin/bash xrdb $HOME/.Xresources startxfce4 & |
Ogni volta che avvii o riavvii vncserver, il processo esegue i comandi di questo file. Questi comandi avviano l'ambiente desktop se non è già stato avviato.
Il primo comando, “xrdb $HOME/.Xresources” indica al framework della GUI di leggere le configurazioni da questa posizione. Puoi configurare varie impostazioni del desktop come i colori del terminale, i temi del cursore, ecc. Il secondo comando avvia XFCE.
Per assicurarti che il server VNC possa eseguire il file, devi modificarne i permessi:
|
1 |
sudo chmod +x ~/.vnc/xstartup |
Dopo aver modificato i permessi, ora puoi avviare il server VNC:
|
1 |
vncserver |

Ora che il server è pronto, possiamo connetterci ad esso dal nostro computer.
Creazione di un tunnel sicuro per la connessione VNC
Poiché VNC non utilizza protocolli sicuri per la connessione, useremo SSH per creare una connessione sicura. Possiamo utilizzare un tunnel SSH sicuro per connetterci al nostro desktop virtuale.
Per creare un tunnel SSH che reindirizzi in modo sicuro la connessione a localhost, puoi utilizzare il seguente comando sul terminale o su PowerShell (per Windows):
|
1 |
ssh -L 5901:127.0.0.1:5901 -C -N -l <UserName> <ServerIP> -i <pemKey> |
Nel comando precedente,
-L: Utilizzato per specificare le associazioni delle porte. In questo caso, stiamo reindirizzando la porta 5901 del server alla porta 5901 del nostro sistema
-C: Utilizzato per abilitare la compressione
-N: Utilizzato per specificare che non è richiesta alcuna esecuzione remota del comando
-l: Specifica il nome di login remoto
-i: Specifica la posizione della chiave

Una volta che il tunnel è attivo, usa un client VNC per connetterti a localhost:5901. Ti verrà chiesto di inserire la password impostata in precedenza.
Una volta connesso, vedrai una schermata simile a questa.

Puoi interrompere il tunnel SSH premendo Ctrl + C.
Eseguire VNC como servizio di sistema
Ora puoi configurare VNC come servizio di sistema per avviarlo, riavviarlo o verificarne lo stato utilizzando i comandi systemd. Ciò garantirà anche che il server VNC si avvii al riavvio del server.
Per farlo, crea un nuovo file unit – /etc/systemd/system/vncserver@.service.
|
1 |
touch /etc/systemd/system/vncserver@.service |
Noterai che nel nome del file sopra c'è il simbolo ‘@’. Ti consente di passare un argomento che puoi utilizzare nella configurazione del server.
Aggiungi il seguente contenuto nel file:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Avvia TightVNC server all'avvio After=syslog.target network.target [Service] Type=forking User=<User> Group=<UserGroup> WorkingDirectory=/home/<User> PIDFile=/home/<User>/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target |
Il comando ‘ExecStartPre’ arresta il VNC se è già in esecuzione, mentre il comando ExecStart avvia il VNC con una profondità di colore a 24 bit e una risoluzione di 1280×800. Puoi modificare questo file in base alle tue esigenze.
Ora puoi ricaricare le unità per systemd utilizzando il seguente comando:
|
1 |
sudo systemctl daemon-reload |
Ora che systemctl è a conoscenza della nuova unità, puoi abilitarla utilizzando il comando:
|
1 |
sudo systemctl enable vncserver@1.service |
Il numero 1 dopo @ indica su quale numero di display deve apparire il servizio. Esempio:1, :2, ecc.
Per arrestare l'istanza corrente, esegui il comando:
|
1 |
vncserver -kill :1 |

Ora puoi avviare il VNC Server come avvieresti qualsiasi altro servizio.
|
1 |
sudo systemctl start vncserver@1 |
Per verificare se il servizio è attivo, esegui il comando:
|
1 |
sudo systemctl status vncserver@1 |
Il server VNC sarà ora disponibile quando riavvii il server.
Ora che sai come configurare un server VNC, puoi gestire facilmente il tuo server, proprio come gestisci il tuo computer.
Commenti
Ancora nessun commento. Scrivi il primo.