Ricerca nel sito web

Come installare e configurare il server VNC su Ubuntu


Virtual Network Computing (VNC) è un sistema grafico di condivisione del desktop ampiamente utilizzato che consente agli account utente di connettersi e controllare in remoto l'interfaccia desktop di un computer da un altro computer o dispositivo mobile .

In questo articolo, spiegheremo come installare e configurare un server VNC su un'edizione desktop Ubuntu 18.04 tramite il programma tigervnc-server.

Ambiente di test

VNC Server: 192.168.56.108
VNC Client: 192.168.56.2

Installa un ambiente desktop in Ubuntu

Come ho detto, VNC è un sistema di condivisione del desktop, quindi devi avere un ambiente desktop installato sul tuo server Ubuntu. Puoi installare il DE che preferisci eseguendo i comandi appropriati di seguito. Ai fini di questo articolo, installeremo Ubuntu Gnome (versione ufficiale).

sudo apt-get install ubuntu-desktop		#Default Ubuntu desktop
sudo apt install ubuntu-gnome-desktop	        #Ubuntu Gnome (Official flavor)
sudo apt-get install xfce4			#LXDE
sudo apt-get install lxde			#LXDE
sudo apt-get install kubuntu-desktop		#KDE

Installa e configura un VNC in Ubuntu

Tigervnc-server è un programma VNC multipiattaforma ad alta velocità che esegue un server Xvnc e avvia sessioni parallele di Gnome o altro ambiente desktop sul desktop VNC.

Per installare il server TigerVNC e altri pacchetti associati in Ubuntu, esegui il comando seguente.

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Ora avvia il server VNC eseguendo il comando vncserver come un utente normale. Questa azione creerà la configurazione iniziale memorizzata nella directory $HOME/.vnc e ti chiederà anche di impostare una password di accesso.

Immettere una password (che deve contenere almeno sei caratteri) e confermarla/verificarla. Quindi imposta una password di sola visualizzazione, se lo desideri, come segue.

vncserver
ls -l ~/.vnc 

Successivamente, dobbiamo configurare DE per funzionare con il server VNC. Quindi, ferma il server VNC utilizzando il seguente comando, per eseguire alcune configurazioni.

vncserver -kill :1

Per configurare GNOME o qualunque desktop tu abbia installato, crea un file chiamato xstartup nella directory delle configurazioni utilizzando il tuo editor di testo preferito.

vi ~/.vnc/xstartup

Aggiungi le seguenti righe nel file. Questi comandi verranno eseguiti automaticamente ogni volta che avvii o riavvii il server TigerVNC. Tieni presente che i comandi possono variare a seconda del DE installato.

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

Salvare il file e impostare l'autorizzazione appropriata sul file in modo che possa essere eseguito.

chmod 700 ~/.vnc/xstartup

Successivamente, avvia il server VNC eseguendo il seguente comando come utente normale. Imposta i tuoi valori per la geometria del display. Inoltre, utilizza il flag -localhost per consentire le connessioni solo da localhost e, per analogia, solo da utenti autenticati sul server.

Inoltre, VNC utilizza per impostazione predefinita la porta TCP 5900+N, dove N è il numero visualizzato. In questo caso, :1 significa che il server VNC verrà eseguito sul numero di porta display 5901.

vncserver :1 -localhost -geometry 1024x768 -depth 32

Per elencare le sessioni del server VNC sul tuo sistema, esegui il seguente comando.

vncserver -list

Una volta avviato il server VNC, controlla la porta su cui è in esecuzione con il comando netstat.

netstat -tlnp

Connessione al server VNC tramite client VNC

In questa sezione mostreremo come connettersi al server VNC, ma prima di addentrarci in questo, devi sapere che per impostazione predefinita VNC non è sicuro per impostazione predefinita (non è un protocollo crittografato e può essere soggetto allo sniffing dei pacchetti) . Questo problema può essere risolto creando un tunnel dalla connessione client a server tramite SSH.

Utilizzando il tunneling SSH, puoi inoltrare in modo sicuro il traffico dal tuo computer locale sulla porta 5901 al server VNC sulla stessa porta.

Sul computer client Linux, apri una nuova finestra di terminale ed esegui il comando seguente per creare un tunnel SSH sul server VNC.

ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108

Successivamente installa il client vncviewer come TigerVNC Viewer come segue (puoi installare qualsiasi altro client di tua scelta).

sudo apt install tigervnc-viewer		#Ubuntu/Debian
sudo yum install tigervnc-viewer		#CnetOS/RHEL
sudo yum install tigervnc-viewer		#Fedora 22+
sudo zypper install tigervnc-viewer	        #OpenSUSE
sudo pacman -S tigervnc			#Arch Linux

Una volta completata l'installazione, esegui il tuo client VNC, specifica l'indirizzo localhost:5901 per connetterti per visualizzare 1 come segue.

vncviewer localhost:5901

In alternativa, aprilo dal menu di sistema, inserisci l'indirizzo sopra e quindi fai clic su Connetti.

Ti verrà richiesto di inserire la password di accesso VNC creata in precedenza, inseriscila e fai clic su OK per procedere.

Se la password è corretta, arriverai all'interfaccia di accesso del tuo desktop. Inserisci la tua password per accedere al desktop.

Attenzione: se sei attento alla sicurezza, potresti aver notato che il visualizzatore VNC mostra "connessione non crittografata" anche se abbiamo abilitato Tunneling SSH.

Questo perché è progettato per utilizzare schemi di sicurezza specifici diversi dal tunneling SSH quando si tenta di autenticarsi con il server. Tuttavia, la connessione è sicura una volta abilitato il tunneling SSH.

Creazione di un file di unità Systemd per il server TigerVNC

Per gestire il server VNC sotto systemd, ovvero avviare, arrestare e riavviare il servizio VNC secondo necessità, dobbiamo creare un file unitario per esso sotto /etc/systemd/system/, con privilegi di root.

sudo vim /etc/systemd/system/[email 

Quindi aggiungi le seguenti righe nel file:

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=simple 
User=tecmint 
PAMName=login 
PIDFile=/home/%u/.vnc/%H%i.pid 
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768 
ExecStop=/usr/bin/vncserver -kill :%i 

[Install] 
WantedBy=multi-user.target

Salva il file e chiudilo.

Successivamente, ricaricare la configurazione del gestore systemd per leggere il file unit appena creato, come segue.

sudo systemctl daemon-reload

Quindi avvia il servizio VNC, abilitalo all'avvio automatico all'avvio del sistema e controllane lo stato come mostrato.


sudo systemctl start vncserver@1
sudo systemctl enable vncserver@1
sudo systemctl status vncserver@1

È tutto! In questo articolo, abbiamo spiegato come installare e configurare il server VNC sulla distribuzione Linux Ubuntu. Condividi le tue domande o pensieri con noi tramite il modulo di feedback qui sotto.