Installazione di VNC come servizio. Tutorial provato in Mint LMDE6, dovrebbe andare bene anche per Mint 22 Cinnamon.
- installare il server VNC con
sudo apt install tigervnc-standalone-server tigervnc-common
- avviare il server per la prima volta per creare il file di configurazione
vncserver
seguire le istruzioni a video. Verrà richiesta una password. Se fosse necessario modificarla poi in seguito, usare il comando vncpasswd
Il file di configurazione adesso è stato creato nella directory nascosta .vnc all’interno della directory home dell’utente che ha lanciato il comando.
- Interrompere il servizio con vncserver -kill :1 , dove :1 indica il numero dello “schermo” visibile da remoto. (Lanciando una seconda volta il server sarà possibile vedere lo schermo :2 e così via).
- Creare nella directory .vnc lo script di avvio con le impostazioni:
nano xstartup , scriverci le seguenti righe:
PATH=/usr/bin:/usr/sbin
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec cinnamon-session-cinnamon
#exec startxfce4
salvare e rendere il file eseguibile con chmod u+x xstartup
NB: la riga exec cinnamon-session-cinnamon va bene per LMDE, per vedere quali gestori di finestre sono installati nel PC in uso, usare il comando
ls /usr/share/xsessions/
se ad esempio è installato xfce, si può decommentare la riga exec startxfce4 e commentare o eliminare quella per cinnamon.
(Se necessario è possibile installare xfce con sudo apt install xfce4 xfce4-goodies, dopo aver provato cinnamon ho preferito xfce perché occupa meno risorse)
- Creare il file config con le seguenti righe:
localhost=no
geometry=1440x900
depth=24
dpi=96
per: scegliere la risoluzione che verrà usata per lo schermo visualizzato da remoto, e abilitare la ricezione dei collegamenti (di default vncserver ascolta solo su localhost, la riga localhost=no permette i collegamenti)
A questo punto si può riavviare il server con vncserver e verificare che tutto funzioni collegandosi da un client
- Per impostare vncserver come servizio, creare il file
/etc/systemd/system/vncserver@.service
e inserirci il seguente testo
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=utente
Group=utente
WorkingDirectory=/home/utente
PIDFile=/home/utente/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1440x900 -localhost no
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
- aggiornare systemctl con
sudo systemctl daemon-reload
e abilitare il servizio consudo systemctl enable vncserver@1.service
(@1 indica che il servizio partirà come schermo :1). Modificare le righe User e Group per adattarle al proprio nome utente, e geometry secondo le dimensioni desiderate per lo schermo remoto.
A questo punto ad ogni avvio del server remoto, il servizio partirà in automatico. Sarà possibile fermarlo e riavviarlo con la stessa sintassi usata per gli altri servizi usando il comandosudo systemctl vncserver@1
e le opzionistart
,stop
estatus
.
(esempio:sudo systemctl start vncserver@1
)
- Sarà quindi possibile collegarsi al server con un client VNC come remmina impostando nella connessione l’IP del server seguito da :5901, impostando l’utente e fornendo la password scelta al momento della configurazione.
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-debian-11
https://stackoverflow.com/questions/59709214/tigervncserver-crashes-unless-started-with-sudo
https://superuser.com/questions/564658/vnc-viewer-error-unable-connect-to-socket-connection-refused-111