Linux

Come installare e configurare VNC su Ubuntu 20.04

Come installare e configurare VNC su Ubuntu 20.04

Virtual Network Computing (VNC) è un sistema di condivisione desktop grafico che consente di utilizzare la tastiera e il mouse per controllare un altro computer in remoto. È un'alternativa open source al protocollo desktop remoto (RDP) di Microsoft.

Questo articolo spiega come installare e configurare un server VNC su Ubuntu 20.04. Ti mostreremo anche come connetterti in modo sicuro al server VNC tramite un tunnel SSH.

Installazione dell'ambiente desktop #

I server Ubuntu sono gestiti dalla riga di comando e non hanno un ambiente desktop installato per impostazione predefinita. Se esegui la versione desktop di Ubuntu, salta questo passaggio.

Ci sono vari ambienti desktop disponibili nei repository Ubuntu. Un'opzione è installare Gnome, che è l'ambiente desktop predefinito in Ubuntu 20.04. Un'altra opzione è installare Xfce . È un ambiente desktop veloce, stabile e leggero, che lo rende ideale per l'utilizzo su un server remoto.

In questa guida installeremo Xfce. Immettere i seguenti comandi come utente con privilegi sudo:

sudo apt updatesudo apt install xfce4 xfce4-goodies

A seconda del sistema, il download e l'installazione dei pacchetti Xfce potrebbe richiedere del tempo.

Installazione del server VNC #

Ci sono diversi server VNC disponibili nei repository Ubuntu, come TightVNC , TigerVNC e x11vnc . Ogni server VNC ha diversi punti di forza e di debolezza in termini di velocità e sicurezza.

Installeremo TigerVNC. È un server VNC ad alte prestazioni attivamente mantenuto. Digita il seguente comando per installare il pacchetto:

sudo apt install tigervnc-standalone-server

Configurazione dell'accesso VNC #

Una volta installato il server VNC, il passaggio successivo consiste nel creare la configurazione utente iniziale e impostare la password.

Imposta la password utente utilizzando il tasto vncpasswd comando. Non utilizzare sudo quando si esegue il comando seguente:

vncpasswd

Ti verrà chiesto di inserire e confermare la password e se impostarla come password di sola visualizzazione. Se scegli di impostare una password di sola visualizzazione, l'utente non sarà in grado di interagire con l'istanza VNC con il mouse e la tastiera.

Password: Verifica: vuoi inserire una password di sola visualizzazione (s/n)? n 

Il file della password è memorizzato nel ~/.vnc directory, che viene creata se non presente.

Successivamente, dobbiamo configurare TigerVNC per utilizzare Xfce. Per fare ciò, crea il seguente file:

~/.vnc/xstartup
nano ~/.vnc/xstartup
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 

Salva e chiudi il file. I comandi sopra vengono eseguiti automaticamente ogni volta che avvii o riavvii il server TigerVNC.

Il ~/.vnc/xstartup anche il file deve avere i permessi di esecuzione. Usa il chmod comando per impostare i permessi del file:

chmod u+x ~/.vnc/xstartup

Se hai bisogno di passare opzioni aggiuntive al server VNC, crea un file chiamato config e aggiungi un'opzione per riga. Ecco un esempio:

~/.vnc/config
geometria=1920x1080 dpi=96 

Ora puoi avviare il server VNC usando il vncserver comando:

vncserver
Nuovo "server2".linuxize.com:1 (linuxize)' desktop a :1 sul server della macchina2.linuxize.com Avvio delle applicazioni specificate in /home/linuxize/.vnc/xstartup Il file di registro è /home/linuxize/.vnc/server2.linuxize.com:1.log Usa xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 per connettersi al server VNC. 

Notare la :1 dopo il nome host nell'output sopra. Questo indica il numero della porta display su cui è in esecuzione il server vnc. In questo esempio, il server è in esecuzione sulla porta TCP 5901 (5900+1). Se crei una seconda istanza con vncserver verrà eseguito sulla prossima porta libera i.e :2, il che significa che il server è in esecuzione sulla porta 5902 (5900+2).

Ciò che è importante ricordare è che quando si lavora con i server VNC, :X è una porta display che si riferisce a 5900+X.

Puoi ottenere un elenco di tutte le sessioni VNC attualmente in esecuzione digitando:

vncserver -list
Sessioni del server TigerVNC: X DISPLAY # RFB PORT # ID PROCESSO: 1 5901 5710 

Prima di continuare con il passaggio successivo, arrestare l'istanza VNC utilizzando il vncserver comando con a -uccidere opzione e il numero del server come argomento. In questo esempio, il server è in esecuzione sulla porta 5901 (:1), quindi lo fermeremo con:

vncserver -kill :1
Eliminazione dell'ID processo Xtigervnc 5710... riuscita! 

Creazione di un file di unità Systemd #

Invece di avviare manualmente la sessione VNC, creiamo un file systemd unit in modo da avviare, arrestare e riavviare il servizio VNC secondo necessità.

Apri il tuo editor di testo e copia e incolla la seguente configurazione al suo interno. Assicurati di cambiare il nome utente sulla riga 7 in modo che corrisponda al tuo nome utente.

sudo nano /etc/systemd/system/[email protected]
/etc/systemd/system/[email protected]
[Unità] Description=Servizio desktop remoto (VNC) After=syslog.rete di destinazione.target [Service] Type=semplice Utente=linuxize PAMName=login PIDFile=/home/%u/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multiutente.bersaglio

Salva e chiudi il file.

Notifica a systemd che è stato creato un nuovo file di unità:

sudo systemctl demone-reload

Abilita l'avvio del servizio all'avvio:

sudo systemctl abilita [email protected]

Il numero 1 dopo il @ sign definisce la porta del display su cui verrà eseguito il servizio VNC. Ciò significa che il server VNC ascolterà sulla porta 5901, come abbiamo discusso nella sezione precedente.

Avviare il servizio VNC eseguendo:

sudo systemctl start [email protected]

Verificare che il servizio sia stato avviato correttamente con:

sudo systemctl status [email protected]
[email protected] - Servizio desktop remoto (VNC) Caricato: caricato (/etc/systemd/system/[email protected]; abilitato; preset del fornitore: abilitato) Attivo: attivo (in esecuzione) da Ven 2021-03-26 20:00:59 UTC; 3 secondi fa.. 

Connessione al server VNC #

VNC non è un protocollo crittografato e può essere soggetto a sniffing di pacchetti. L'approccio consigliato è creare un tunnel SSH e inoltrare in modo sicuro il traffico dalla macchina locale sulla porta 5901 al server sulla stessa porta.

Configura il tunneling SSH su Linux e macOS #

Se esegui Linux, macOS o qualsiasi altro sistema operativo basato su Unix sulla tua macchina, puoi facilmente creare un tunnel SSH con il seguente comando:

ssh -L 5901:127.0.0.1:5901 -N -f -l vagabondo 192.168.33.10

Ti verrà chiesto di inserire la password dell'utente.

Assicurati di sostituire nome utente e indirizzo IP del server con il tuo nome utente e l'indirizzo IP del tuo server.

Configura il tunneling SSH su Windows #

Se esegui Windows, puoi configurare il tunneling SSH utilizzando il client SSH PuTTY .

Apri Putty e inserisci l'indirizzo IP del tuo server nel campo Nome host o indirizzo IP campo.

Sotto il Connessione menu, casella, espandi SSH, e seleziona Tunnel. Immettere la porta del server VNC (5901) nel Porta di origine campo e invio server_ip_address:5901 nel Destinazione campo e fare clic su Inserisci pulsante come mostrato nell'immagine qui sotto:

Torna al Sessione pagina per salvare le impostazioni, quindi non è necessario inserirle ogni volta. Al server remoto, seleziona la sessione salvata e fai clic su Aperto pulsante.

Connessione utilizzando Vncviewer #

Ora che il tunnel SSH è stato creato, è il momento di aprire il tuo Vncviewer e connetterti al server VNC all'indirizzo host locale:5901.

Puoi utilizzare qualsiasi visualizzatore VNC come TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre e VNC Viewer per Google Chrome .

Useremo TigerVNC. Apri il visualizzatore, entra host locale:5901, e clicca su Collegare pulsante.

Inserisci la tua password utente quando richiesto e dovresti vedere il desktop Xfce predefinito. Sarà simile a questo:

Puoi iniziare a interagire con il desktop XFCE remoto dal tuo computer locale usando la tastiera e il mouse.

Conclusione #

Ti abbiamo mostrato come installare e configurare un server VNC attivo e funzionante, su Ubuntu 20.04.

Per configurare il tuo server VNC per avviare un display per più di un utente, crea la configurazione iniziale e imposta la password utilizzando il tasto using vncpasswd comando. Dovrai anche creare un nuovo file di servizio utilizzando una porta diversa.

Sentiti libero di lasciare un commento se hai domande.

SuperTuxKart per Linux
SuperTuxKart è un fantastico titolo progettato per offrirti l'esperienza di Mario Kart gratuitamente sul tuo sistema Linux. È piuttosto impegnativo e ...
Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...