Con questa guida vediamo qual’è la procedura per per configurare un Server VNC su macchine CentOS 7/ RHEL 7. Il Server VNC aiuta a condividere il desktop con le altre macchine che hanno un client installato. Server VNC e client non sono installati da default, è necessario quindi configurare manualmente il server.
Innanzitutto, bisogna dire che prima di installare il Server VNC dobbiamo installare Gnome desktop.
[root@server ~]# vi /etc/systemd/system/vncserver@:5.service
Installiamo il Server tigervnc e font x11
[root@server ~]# yum install tigervnc-server xorg-x11-fonts-Type1
A questo punto copiamo il file di configurazione del Server VNC in /etc/systemd/system/ per la configurazione del servizio di sistema. Durante la copia, è possibile menzionare quale porta bisognerebbe ascoltare: siamo in grado di girare un servizio su una sub-port della porta predefinita 5900.
[root@server ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:5.service
Modifichiamo il file copiato
[root@server ~]# vi /etc/systemd/system/vncserver@:5.service
Alla fine del file troviamo le linee come riportate di seguito:
[Unit] Description=Remote desktop service (VNC)
After=syslog.target network.target[Service] Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/sbin/runuser -l <user> -c “/usr/bin/vncserver %i”
PIDFile=/home/<user>/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’[Install] WantedBy=multi-user.target
Giunti a questo punto, andiamo a sostituire <user> con il nostro nome utente, in questo caso inseriamo come semplice esempio il nome Vinny con le dimensioni dello schermo.
[Unit] Description=Remote desktop service (VNC)
After=syslog.target network.target[Service] Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/sbin/runuser -l vinny -c “/usr/bin/vncserver %i -geometry 1280×1024″
PIDFile=/home/vinny/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’[Install] WantedBy=multi-user.target
Aggiungiamo le regole del firewall per consentire la connessione VNC, la regola seguente è impostata secondo la porta off-set.
[root@server ~]# firewall-cmd –permanent –zone=public –add-port=5905/tcp
[root@server ~]# firewall-cmd –reload
Facciamo partire il Server VNC dopo il passaggio a Vinny.
[vinny@server ~]$ vncserver
Impostiamo la password
You will require a password to access your desktops.
Password:
Verify:
xauth: file /home/vinny/.Xauthority does not existNew ‘localhost.localdomain:1 (vinny)’ desktop is server.keliweb.com:1
Creating default startup script /home/vinny/.vnc/xstartup
Starting applications specified in /home/vinny/.vnc/xstartup
Log file is /home/vinny/.vnc/server.keliweb.com:1.log
Adesso occorre ricaricare il daemon systemctl come root
systemctl daemon-reload
Avviamo il servizio VNC come root
systemctl start vncserver@:5.service
Attiviamolo all’avvio di sistema come root
systemctl enable vncserver@:5.service
Prendiamo desktop remoto
ipaddress:5905 or ipaddress:5
A questo punto del procedimento ci verrà richiesto di inserire la password, e noi qui andremo ovviamente ad inserire la password che abbiamo creato in precedenza. Adesso dovremmo ottenere la sessione VNC desktop.
Tutto il nostro procedimento è giunto a termine, se abbiamo fatto tutto nella maniera corretta abbiamo configurato Server VNC su CentOS/RHEL 7.
Vincenzo Abate