= 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 =. 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_. == UPDATE: Fedora 40 La configurazione descritta funziona con versioni precedenti a Fedora 40. In quest'ultima versione sono stata fatti dei cambiamenti. Il contentuo della directory di configurazione dell'utente .vnc dev'essere spostata in $HOME/.config/tigervnc/ I log del server _Xvnc_ sono regitrati in (host=minis.portale-stac.it, display :5): $HOME/.local/state/tigervnc/minis.portale-stac.it\:5.log ]IMPORTANT] ==== Per il desktop KDE installare il pacchetto plasma-workspace-x11: ---- [root]#] dnf install plasma-workspace-x11 ---- ==== ''' *Celestino Amoroso* + *celestino . amoroso @ gmail . com* image::https://gravatar.com/avatar/88d204d546890e5d89073fb1cec29fe9.png?size=48[]