linux/Desktop/vncserver.adoc

126 lines
4.5 KiB
Plaintext
Raw Normal View History

2023-10-21 00:16:26 +02:00
= 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_.
2023-10-21 00:17:51 +02:00
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.
2023-10-21 00:16:26 +02:00
.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_.