GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa e configura il server VNC su Ubuntu 16.04

Il modo tradizionale per amministrare il server è su ssh e riga di comando. Ma a volte è necessario eseguire qualche applicazione con una GUI su un server e, poiché in genere non ci si siede accanto al server e anche se lo fai, il server potrebbe non avere monitor e tastiera, hai bisogno di una sorta di desktop remoto.

VNC è una buona soluzione per questo che è ampiamente utilizzata ed è abbastanza facile da configurare. Ubuntu ha TightVNC nei repository e in questo tutorial imposteremo un server TightVNC multiutente su Ubuntu Server 16.04.

Per la GUI useremo XFCE che è un'alternativa più leggera a GNOME e Unity.

Installa VNC Server (Tight VNC) e Desktop (XFCE)

Per prima cosa iniziamo installando il server TightVNC e l'ambiente desktop XFCE.

sudo apt install gnome-core xfce4 firefox xfce4-goodies tightvncserver

Quindi dobbiamo configurare il server VNC con la password per l'accesso come utente 'miki'

vncserver

Ti verrà anche richiesta la password di sola visualizzazione, quella necessaria se vuoi che qualcuno si connetta alla tua sessione VNC senza il controllo del cursore e della tastiera, solo come spettatore. Questa password deve essere diversa dalla tua password principale. Se non prevedi di avere spettatori puoi scegliere di non inserire la password di sola visualizzazione. Al termine di questo processo, l'istanza VNC verrà avviata sulla porta 5901 e VNCserver conterà questa porta come :1. Se avvii più istanze di VNC, avrai più porte di visualizzazione e aumenterà entrambi i numeri di 1, a :2 e 5902 e così via per ogni istanza. Per continuare la configurazione, abbiamo effettivamente bisogno di uccidere tutte le istanze del server VNC. Lo facciamo seguendo il comando:

vncserver -kill :1

Al termine, è possibile modificare il file di configurazione per il server VNC per selezionare quale ambiente desktop verrà avviato al momento della connessione al server VNC. Il file di cui sto parlando si chiama xstartup e si trova all'interno della directory .vnc nascosta in ~/ dir. Per prima cosa eseguiamo il backup di questo file

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

E quindi crea un nuovo file da una lavagna pulita

nano ~/.vnc/xstartup

In questo file vuoto, incolla queste poche righe:

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

Aggiungi bit eseguibile a questo file

sudo chmod +x ~/.vnc/xstartup

Successivamente possiamo riavviare il server VNC

vncserver

Connessione al server VNC

Quindi dobbiamo connetterci al server VNC per vedere se la nostra configurazione funziona. Possiamo usare qualsiasi client VNC, come ad esempio Vinagre o Remote Desktop Viewer, come viene anche chiamato. Per prima cosa installalo e avvialo

sudo apt install vinagre

Inserisci il nome del tuo server, porta 5901 e fai clic su Connetti. Ti dovrebbe essere richiesta la password e poi dovresti entrare in XFCE

Puoi connetterti a questa sessione da un numero illimitato di computer, ma poi controlleresti tutti un cursore del mouse e avresti la stessa sessione. Se alcuni utenti digitano la password di sola visualizzazione (a condizione che tu ne abbia creata una) non avrebbero il controllo del cursore ma sarebbero comunque in una singola sessione e guarderebbero una stessa schermata.

Utenti multipli

È possibile avere più sessioni VNC che non interferiscono tra loro. Questo viene fatto creando un numero arbitrario di utenti e ogni utente avrà la propria porta di visualizzazione e la propria istanza del server VNC. E a sua volta eseguirà la propria istanza di ambiente desktop, o che potrebbe essere un DE completamente separato. Iniziamo prima aggiungendo un nuovo utente

sudo adduser newuser

Quindi accediamo come quell'utente

su newuser

E creiamo una password per il nuovo utente

vncserver

Oltre alla password, questo ha anche creato un nuovo processo in ascolto sulla porta 5902. Dobbiamo terminare questo processo per poter modificare il file di configurazione.

vncserver -kill :2

E dobbiamo effettivamente ripetere il processo di prima. Per prima cosa esegui il backup del file xstartup

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

Quindi creane uno nuovo da zero

nano ~/.vnc/xstartup

Oltre tre righe qui sotto

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

E rendilo eseguibile:

sudo chmod +x ~/.vnc/xstartup

Ora esegui vncserver per spawnare il processo

vncserver :2

E ora puoi connetterti alla porta 5902 e avere una sessione separata.

Come configurare il tunneling SSH

Finora siamo riusciti a effettuare la connessione direttamente sulle porte display, nel nostro caso 5901 e 5902. Ma cosa succede se quelle porte vengono chiuse, dal firewall, e per qualche motivo non è pratico aprirle. C'è una soluzione in tal caso, possiamo usare il tunneling SSH. La porta 22 o qualsiasi altra porta utilizzata per l'accesso SSH su un server può essere utilizzata per ingannare il visualizzatore VNC che il server VNC è in esecuzione su localhost sulla porta 5901 o 5902. Con questo comando si stabilisce un tunnel SSH:

ssh -L 5902:127.0.0.1:5902 [email protected]

Assicurati di cambiare la parte evidenziata nel tuo indirizzo IP e nome utente.

Successivamente puoi avviare Vinagre o Remmina e inserire localhot:5902 come indirizzo. Penserà che il desktop remoto sia su localhost e indirizzerà il traffico sulla porta ssh al tuo server, purché la connessione SSH sia attiva.

Creazione delle unità di sistema

Tutto ciò va bene quando imposti manualmente l'utente e il server su SSH, ma devi farlo di nuovo ad ogni riavvio del server. Quindi, per evitarlo, creiamo un file di unità di sistema. Questo è il nuovo nome di fantasia dello script di avvio della vecchia scuola. In realtà dovremo crearne due per due utenti prima di crearne uno

sudo nano /etc/systemd/system/[email protected]

Ecco qua questa configurazione

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

[Service]
Type=forking
User=miki
PAMName=login
PIDFile=/home/miki/.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

Poi ne fai un altro:

sudo nano /etc/systemd/system/[email protected]

E incolla le stesse cose, solo in entrambi i casi cambia il nome utente per i tuoi utenti. Ora dobbiamo eliminare i vecchi processi se sono ancora in esecuzione e ricaricare i file unit

vncserver -kill :2
vncserver -kill :1

sudo systemctl daemon-reload

E inizia a usare i file di unità

sudo systemctl start vncserver@1

sudo systemctl start vncserver@2

E se vuoi un server vnc ad ogni avvio, fai ancora una volta come sopra, abilita invece di avviare.

Conclusione

In questo tutorial abbiamo imparato come installare e configurare il server VNC con due utenti su Ubuntu 16.04. Se hai domande o feedback, sentiti libero di lasciare un commento.


Ubuntu
  1. Come installare e configurare un server NFS su Ubuntu 20.04

  2. Come installare e configurare VNC su Ubuntu 20.04

  3. Come installare e configurare il server DHCP su Ubuntu 20.04

  4. Come installare e configurare il server Redis in Ubuntu

  5. Installa server e client vnc su Ubuntu

Come installare e configurare il server VNC su Ubuntu 20.04 LTS

Come installare e configurare il server OpenLDAP su Ubuntu 16.04

Come installare e configurare il server VNC su Ubuntu 20.04

Come installare e configurare VNC su Ubuntu Server 20.04

Installa e configura Virtualmin su Ubuntu 20.04 / Debian 10 Server

Come installare e configurare VNC su Ubuntu 20.04?