VNC è un sistema che consente di controllare a distanza un altro computer. Ti consente di trasmettere gli input del mouse e della tastiera come se fossi fisicamente seduto di fronte al sistema, quando in realtà potresti essere dall'altra parte del mondo.
In questa guida, esamineremo i passaggi per configurare un server VNC sul tuo sistema Ubuntu 20.04. Quando avremo finito, sarai in grado di accedere al tuo sistema in remoto da qualsiasi luogo, a condizione che il tuo sistema client e il server VNC dispongano di una connessione Internet.
In questo tutorial imparerai:
- Come installare e configurare il server TightVNC
- Come installare e configurare XFCE Desktop Manager
- Come connettersi al nostro server VNC con TightVNC Viewer
- Come eseguire il tunneling delle connessioni VNC tramite SSH
- Come gestire più desktop VNC con uno script Systemd
Connessione a un server VNC
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Installato o aggiornato Ubuntu 20.04 Focal Fossa |
Software | Server TightVNC, gestore desktop XFCE, visualizzatore TightVNC |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Installa il server VNC
Dovremo prima installare alcuni pacchetti. Esistono più opzioni per il software del server VNC, ma per questo tutorial utilizzeremo TightVNC Server. Insieme a VNC, abbiamo anche bisogno di un desktop grafico. XFCE è una buona scelta, quindi è ciò di cui parleremo qui.
- Inizia aprendo un terminale e immettendo il seguente comando per installare il server TightVNC e i file principali del gestore desktop XFCE:
$ sudo apt install tightvncserver XFCE4 XFCE4-goodies
- Al termine dell'installazione dei pacchetti, è necessario configurare un nome utente e una password che verranno utilizzati per connettersi al server VNC da un client. Crea una password con questo comando:
$ vncpasswd
- Quindi, configuriamo VNC per avviare l'ambiente desktop XFCE quando un client si connette. Usa nano o l'editor di testo che preferisci (es. Atom, Sublime) per creare il seguente file:
$ nano ~/.vnc/xstartup
- Inserisci le seguenti poche righe, quindi salva le modifiche ed esci dal file:
xfile di configurazione di avvio#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS startxfce4 &
- Con queste modifiche apportate, modifica i permessi del file per renderlo eseguibile:
$ chmod +x ~/.vnc/xstartup
Avvia il server VNC
VNC viene eseguito come servizio sul tuo sistema. Affinché i client si connettano, il server VNC deve ovviamente essere in esecuzione e in attesa di tentativi di connessione in entrata. Con la nostra configurazione completa, siamo pronti per avviare il server VNC con il seguente comando:
$ vncserver
Se il tuo terminale restituisce un output come nello screenshot qui sotto, il tuo server VNC funziona correttamente.
Avvia il server VNC
VNC utilizzerà una nuova porta per ogni desktop remoto creato. A questo punto, il tuo sistema dovrebbe essere in ascolto sulla porta 5901
per le connessioni VNC in entrata. Puoi vederlo di persona con ss -ltn
comando:
$ ss -ltnVNC in ascolto sulla porta 5901
Se hai abilitato il firewall UFW, dovrai aprire la porta 5901
quindi non blocca le connessioni VNC in entrata:
$ sudo ufw allow from any to any port 5901 proto tcp Rule added Rule added (v6)
Connetti al server VNC
Ci sono molte scelte in termini di client VNC e ognuno di essi dovrebbe essere in grado di connettersi al server VNC appena lanciato. Se non hai già un client preferito da utilizzare, seguici mentre trattiamo le istruzioni per la connessione al server VNC con il visualizzatore TightVNC.
- Inizia installando
xtightvncviewer
pacchetto sul tuo sistema client Ubuntu:$ sudo apt install xtightvncviewer
- Una volta installato il client VNC, puoi utilizzare
vncviewer
comando, seguito dal nome host o dall'indirizzo IP del server VNC, per connettersi ad esso.$ vncviewer linuxconfig.org:1
Inserisci la tua password che abbiamo creato in precedenza durante la configurazione del server VNC. Se tutto è andato bene, ti verrà presentata una sessione desktop XFCE in esecuzione sul sistema Ubuntu del server VNC remoto:
Connettiti al server VNC
Tunnel VNC tramite SSH
Per una maggiore sicurezza, puoi eseguire il tunneling della connessione VNC tramite SSH sul tuo server VNC. Ovviamente, questo presuppone che tu abbia l'accesso SSH sul server VNC. Se desideri maggiore sicurezza, segui questi passaggi:
- Se non hai già installato SSH, questo è un prerequisito abbastanza ovvio affinché funzioni:
$ sudo apt install ssh
- Quindi, crea un tunnel SSH su una porta locale 5901 che porta a una porta remota 5901 sul tuo server VNC. Nel comando seguente, assicurati di sostituire
user1
elinuxconfig
con il nome utente e il nome host del tuo server VNC:$ ssh -L 5901:127.0.0.1:5901 -N -f -l user1 linuxconfig
Il comando precedente aprirà una porta locale
5901
su un'interfaccia di rete di loopback localhost127.0.0.1
:$ ss -ltn State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 5 127.0.0.1:631 0.0.0.0:* LISTEN 0 128 127.0.0.1:6010 0.0.0.0:* LISTEN 0 128 127.0.0.1:6011 0.0.0.0:* LISTEN 0 128 0.0.0.0:38299 0.0.0.0:* LISTEN 0 128 127.0.0.1:5901 0.0.0.0:*
- Successivamente, usa la porta locale
5901
per connettersi a un server VNC remoto tramite il tunnel SSH:$ vncviewer localhost:1
Script di avvio del sistema del server VNC
Mentre questa configurazione funziona, potresti avere uno scenario in cui devi gestire più sessioni desktop VNC. In tal caso, la creazione di uno script di avvio di sistema può facilitarlo.
Usa nano o un altro editor di testo per creare il seguente file:
$ sudo nano /etc/systemd/system/[email protected]
Una volta aperto il file, inserisci le seguenti righe sostituendo user1
nome utente con il nome utente del tuo utente VNC su Riga 7 e Riga 10. Facoltativamente, modificare le impostazioni di risoluzione dello schermo e applicare altro vncserver
opzioni o argomenti:
[Unit]
Description=Systemd VNC server startup script for Ubuntu 20.04
After=syslog.target network.target
[Service]
Type=forking
User=user1
ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null
ExecStart=/usr/bin/vncserver -depth 24 -geometry 800x600 :%i
PIDFile=/home/user1/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
File di avvio di sistema Quindi, ricarica Systemd per rendere effettive le modifiche:
$ sudo systemctl daemon-reload
Per avviare il desktop VNC 1
, inserisci:
$ sudo service vncserver@1 start
Per interrompere il desktop VNC 1
, esegui:
$ sudo service vncserver@1 stop
Il seguente comando Linux abiliterà il desktop VNC 1
per iniziare dopo il riavvio:
$ sudo systemctl enable vncserver@1
Per avviare il desktop VNC 2
, inserisci:
$ sudo service vncserver@2 start
E così via...
Conclusione
In questa guida abbiamo visto come installare e configurare TightVNC Server su Ubuntu 20.04 Focal Fossa. Abbiamo installato XFCE desktop manager per i nostri client VNC da utilizzare quando si connettono.
Abbiamo anche imparato come utilizzare TightVNC Viewer per connetterci in remoto al nostro server VNC. Inoltre, abbiamo anche spiegato come eseguire il tunneling delle connessioni VNC tramite SSH per una maggiore sicurezza e utilizzare uno script di avvio Systemd personalizzato per gestire in modo efficiente connessioni desktop VNC multiple.