Quando in ambiente Linux Desktop andiamo ad installare una delle emanazioni di VNC (tightvnc, tigervnc, realvnc, eccetera) nella sua versione server, queste espongono una nuova sessione dell’ambiente Desktop. Se invece noi desideriamo collegarci alla sessione corrente, cioè quella denominata console, ovvero quella che si vede nel monitor per dirla terra-terra, le cose si complicano.
La procedura esiste ma, appunto, è piena di complicazioni. Quando in realtà esiste un server dedicato a questo scopo, che si chiama “x11vnc”.
Per installarlo, facendo riferimento alle distribuzioni Debian like
sudo apt install x11vnc
Il pacchetto è presente nel ramo principale, quindi non sono necessari APT di terze parti. Il primo passo è quello di creare una password di accesso a questa sessione. Andremo quindi a metterne una dentro un file specifico che andremo a creare, tramite x11vnc, nella cartella /etc
sudo x11vnc –storepasswd /etc/x11vnc.pass
a video ci verrà chiesta la password e una re-immissione per conferma. Per essere sicuri che non vi siano accessi da utenti di gruppo o world, diamo anche il comando:
sudo chmod 600 /etc/x11vnc.pass
A questo punto siamo in grado di far partire la sessione, banalmente scrivendo nella shell il comando “x11vnc” dovremo essere già attivi. Tuttavia, se riavviamo la macchina non esiste nessun servizio in ascolto, quindi lo andiamo a creare affinché parta contestualmente al login.
sudo nano /lib/systemd/system/x11vnc.service
all’interno del file andremo a scrivere
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
non ci resta che riavviare il demone di “systemctl” e abilitare il nuovo servizio.
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
Il sistema è già attivo, per controprova totale un riavvio e al successivo login dovremo accedere da un client VNC (a vostro piacimento) con la password che abbiamo scelto.