TigerVNC

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Debian-swirl.png Versioni Compatibili

Debian 12 "bookworm"

Introduzione

Dall'omonima pagina di Wikipedia inglese:

TigerVNC is an open source Virtual Network Computing (VNC) server and client software, started as a fork of TightVNC in 2009.[2] The client supports Windows, Linux and macOS. The server supports Linux.

Client

Installazione

Da terminale digitare:

# apt install tigervnc-viewer
Info.png Nota
Ovviamente il server di TigerVNC accetta connessioni da qualsiasi client, non solo da client TigerVNC.


Server indipendente

Info.png Importante
Questo server è utile quando si ha bisogno di connettersi a macchine remote senza display, o che ragionevolmente non hanno quasi mai un utente fisico che le usi.

Non è infatti possibile avviare questo server usando un'utenza che è già stata usata per autenticarsi fisicamente alla macchina remota (cioè quando il display della macchina mostra una sessione attiva).


Installazione

Da terminale digitare:

# apt install tigervnc-standalone-server tigervnc-tools

Creazione password

Per ogni utente che deve poter avviare un server VNC deve essere prima stata creata una password, quindi per ciascuno di tali utenti bisogna eseguire il seguente comando:

~$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
Info.png Nota
La password deve essere lunga almeno sei caratteri e può essere lunga a piacere, ma in realtà solo i primi otto caratteri vengono considerati.

La password viene salvata in ~/.vnc/passwd in formato offuscato con schema permessi 600, ma risulta comunque banale per chiunque possa leggere tale file ricavarne il vero valore.

Autenticazione

Un server VNC per permettere l'accesso chiede solo la password e non anche il nome utente, questo perché l'utente usato è sempre quello di chi ha materialmente avviato il server VNC.

Utilizzo

TigerVNC server può essere avviato sia direttamente da qualsiasi utente senza bisogno di avere privilegi di amministratore, oppure tramite systemd con i privilegi di amministratore.

Bulb.png Suggerimento
Durante il primo avvio e configurazione si consiglia caldamente di usare la modalità diretta, solo dopo aver concluso le prove con successo provare l'avvio tramite systemd.


Avvio diretto

Questa modalità è più conveniente se si intende gestire la macchina remota principalmente tramite terminale, ma soprattutto se c'è un solo utente che avvierà il server VNC.
L'eseguibile da lanciare per avviare direttamente il server è vncserver, ad esempio il comando:

$ vncserver -rfbport 5901 -localhost no -- gnome -geometry 1280x720 --depth 32 -desktop Prova -autokill no

comporta quanto segue:

  • -rfbport, la porta su cui è in ascolto il server VNC è la 5901;
  • -localhost, il server accetta connessioni da qualsiasi IP, non solo da localhost;
Warning.png ATTENZIONE
Questa opzione è accettabile solo se ci si connette ad una macchina all'interno della propria LAN domestica o piccolo ufficio, certamente MAI se la macchina remota è raggiungibile solo attraverso una rete insicura come internet, a meno che naturalmente la connessione non sia obbligata a transitare attraverso una VPN o tunnel SSH.


  • --, la sessione (ambiente grafico) da usare è GNOME. Chiaramente bisogna specificare un ambiente grafico realmente installato, altrimenti si riceverà un errore simile a vncserver: Warning: No X session desktop file or command for gnome.
È possibile conoscere quali nomi si sessioni sono ammissibili digitando semplicemente ls -hl /usr/share/xsessions/*, infatti il nome di una sessione si ricava semplicemente rimuovendo dal nome dei file mostrati l'estensione .desktop, ad esempio gnome.desktop --> gnome.
  • -geometry, imposta la risoluzione predefinita a 1280x720.
  • -depth, imposta la profondità del colore a 32, cioè il massimo (il valore predefinito è 24, mentre quello minimo 16).
  • -desktop, nel bordo superiore della finestra del client sarà mostrato Prova invece che miohost.small.lan:1 (nome_utente).
  • -autokill, il server VNC non si chiuderà automaticamente alla disconnessione dell'utente. Con disconnessione si intende proprio il comando di disconnessione, non la semplice chiusura della finestra del client.

In generale ogni volta che si avvia il server VNC viene stampato a video qualcosa di simile a:

New Xtigervnc server 'miohost.small.lan:1 (nome_utente)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /tmp/tigervnc.VYhfS_/passwd miohost.small.lan:1 to connect to the VNC server.

Per visualizzare l'elenco dei server avviati dall'utente corrente:

$ vncserver --list

che stamperà a video qualcosa di simile a:

TigerVNC server sessions:

X DISPLAY #	RFB PORT #	RFB UNIX PATH	PROCESS ID #	SERVER
1         	5901      	             	3281        	Xtigervnc

Per terminare un server è sufficiente digitare

$ vncserver -kill :numero_display

cioè ad esempio vncserver -kill :1.

File config

È possibile salvare tutti i parametri di avvio nel file ~/.vnc/config in modo da poter avviare il server semplicemente digitando vncserver.
Considerando l'esempio fatto poco sopra il contenuto del file sarebbe:

rfbport=5901
localhost=no
session=gnome
geometry=1280x720
depth=32
desktop=Prova
autokill=no
Info.png Nota
L'unico parametro parametro veramente necessario è session, tutti gli altri possono essere omessi se all'utente vanno bene i valori predefiniti.


Avvio con systemd

Approfondimenti

Manpages

  • man tigervncserver, HTML

Sitografia




Guida scritta da: Wtf (discussioni) 12:02, 29 dic 2024 (UTC) Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized