126 lines
4.5 KiB
Plaintext
126 lines
4.5 KiB
Plaintext
= Attivazione server VNC
|
|
Installazione e configurazione di TigerVNC
|
|
:authors: Celestino Amoroso
|
|
:docinfo: shared
|
|
:encoding: utf-8
|
|
:toc: right
|
|
:toclevels: 4
|
|
:toc-title: Indice Generale
|
|
:icons: font
|
|
:icon-set: fi
|
|
:numbered:
|
|
:table-caption: Tabella
|
|
:figure-caption: Diagramma
|
|
:docinfo1:
|
|
:sectlinks:
|
|
:sectanchors:
|
|
:source-highlighter: rouge
|
|
// :rouge-style: ThankfulEyes
|
|
:rouge-style: gruvbox
|
|
// :rouge-style: colorful
|
|
//:rouge-style: monokay
|
|
|
|
toc::[]
|
|
|
|
== Installazione server TigerVNC
|
|
Installare con utente _root_ o _sudo_ il pacchetto *tigervnc-server*.
|
|
|
|
.Installazione pacchetto
|
|
[source,sh]
|
|
----
|
|
[root@minis ~]# dnf install tigervnc-server
|
|
----
|
|
|
|
== Configurazione server
|
|
La configurazione prevede interventi sul file globale `/etc/tigervnc/vncserver.users` e sui file locali `~/.vnc/config` per ogni utente abilitato.
|
|
|
|
=== Configurazione utenti
|
|
Modificare il file `/etc/tigervnc/vncserver.users` per definire l'associazione fra un'istanza di server VNC ed il corrispondente utente proprietario.
|
|
|
|
.Associzione utente / istanza VNC
|
|
[source,sh]
|
|
----
|
|
# TigerVNC User assignment
|
|
#
|
|
# This file assigns users to specific VNC display numbers.
|
|
# The syntax is <display>=<username>. E.g.:
|
|
#
|
|
# :2=andrew
|
|
# :3=lisa
|
|
:5=camoroso
|
|
:2=elena
|
|
----
|
|
|
|
TIP: Il numero dell'istanza VNC definisce la corrispondente porta TCP. In altre parole, l'istanza _:N_ definisce la porta 5900+__N__. Esempio, all'istanza *:5* corrisponde la porta *5905*.
|
|
|
|
=== Preferenze dell'utente
|
|
Le proprietà di un specifica istanza si impostano nel file `~/.vnc/config` dell'utente proprietario. Ad esempio, secondo la configurazione di sopra, l'utente proprietario dell'istanza *:5* è _camoroso_.
|
|
Per tale utente il file `config` presenta il seguente contenuto.
|
|
|
|
.Configurazione VNC di _camoroso_ sul mini-pc
|
|
[source,sh]
|
|
----
|
|
[camoroso@minis ~]$ cat .vnc/config
|
|
# create new
|
|
# session=(display manager you use)
|
|
# securitytypes=(security options)
|
|
# geometry=(screen resolution)
|
|
|
|
session=plasma
|
|
securitytypes=vncauth
|
|
geometry=1024x768
|
|
----
|
|
NOTE: Al momento non ho trovato documentazione sui parametri e relativi valori che è possibile specificare in questo file. Il contenuto attuale è basato su un esempio trovato in un forum.
|
|
|
|
Questa configurazione d'esempio specifica che il server VNC deve caricare una sessione _plasma_, ovvero il desktop KDE, con una risoluzione _1024x768_.
|
|
|
|
Il valore _vncauth_ del parametro _securitytypes_ inoltre specifica che l'accesso al server richiede l'autenticazione dell'utente mediante password impostata con il comando _vncpasswd_.
|
|
|
|
=== Password dell'utente
|
|
Il comando _vncpasswd_ consente di imopostare la password dell'utente proprietario dell'istanza VNC e, se richiesta, anche una password ausiliara che abilita la sola visione del contenuto dell'istanza.
|
|
|
|
.Impostazione password
|
|
[source,sh]
|
|
----
|
|
[camoroso@minis ~]$ vncpasswd
|
|
Password:
|
|
Verify:
|
|
Would you like to enter a view-only password (y/n)? y
|
|
Password:
|
|
Verify:
|
|
----
|
|
|
|
Le password sono registrate in forma non leggibile nel file `~/.vnc/passwd`.
|
|
|
|
|
|
=== Servizio _systemd_ e avviamento
|
|
Come utente _root_ o con il comando _sudo_ copiare il modello di unit per l'esecuzione di istanza VCN.
|
|
|
|
[source,sh]
|
|
----
|
|
[root@minis ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
|
|
|
|
# Abilitare un'istanza, esempio la :5, per l'avviamento al boot
|
|
[root@minis ~]# systemctl enable vncserver@:5.service
|
|
|
|
# Avviamento di un'istanza, esempio la :5
|
|
[root@minis ~]# systemctl start vncserver@:5.service
|
|
----
|
|
|
|
== Connessione al server VNC
|
|
Il pacchetto TigerVNC comprende il programma _vncviewer_ con il quale è possibile verificare il funzionamento del server. Prima di visualizzare il contenuto dell'istanza, all'utente è richiesto l'inserimento della password impostata con _vncpasswd_.
|
|
|
|
Un uso pratico del servizio VNC prevede la visualizzazione remota di un'istanza VNC. In questo caso, per operare in modo sicuro, è consigliato canalizzare il protocollo VNC attraversio una connessione SSH.
|
|
|
|
.Esempio di canalizzazione SSH su MacOS
|
|
----
|
|
celestino@MBP-CELESTINO DKV % ssh -NL 5905:localhost:5905 minis.internet
|
|
----
|
|
|
|
Il comando _ssh_ stabilisce una connessione sicura SSH al mini-pc attraverso il suo indirizzo esterno e subito dopo apre la porta *5905* locale al PC Mac. Il flusso da e verso questa porta è canalizzato alla stessa porta del mini-pc, ovvero quella dell'istanza *:5* del server VNC.
|
|
|
|
TIP: Per terminare la canalizzazione, premere semplicemente la sequenza _Ctrl-C_.
|
|
|
|
TIP: Un esempio di visualizzatore VNC per MacOS è _Remote Desktop - VNC_.
|
|
|