GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare il server VNC (TigerVNC) in CentOS / RHEL 7

Il Virtual Network Computing (VNC) funziona catturando il frame buffer del display e rendendolo disponibile in tutta la rete. Questo post mostra come installare TigerVNC e configurarlo per fornire agli utenti remoti l'accesso al proprio ambiente desktop grafico come se fossero fisicamente di fronte al sistema.

Per l'esempio in questo post useremo un server CentOS 7 come server VNC e un computer locale con un client VNC per connettersi ad esso. Si presuppone che il sistema remoto esegua il server SSH OpenSSH e un ambiente desktop grafico come GNOME o KDE. Puoi fare riferimento al post "CentOS / RHEL 7:Come installare la GUI" per installare l'ambiente grafico prima di procedere.

Installazione del server VNC

1. Assicurati di avere accesso a un repository yum locale o remoto per installare i pacchetti richiesti.

# yum repolist

2. Installare il pacchetto desktop GUI, se non è già installato, per avere un accesso GUI al server VNC.

# yum groupinstall "Server with GUI"

3. Sul server VNC, installa il pacchetto del server TigerVNC:

# yum install tigervnc-server

Configurazione del server VNC

Copia il file di configurazione, /lib/systemd/system/[email protected] , nella directory /etc/systemd/system/ dopo la denominazione di "vncserver_[username]@:[port].service '. Ad esempio:

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver_root@:2.service
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver_oracle@:3.service
Nota :È comune creare file di configurazione diversi per ogni utente. Come best practice possiamo aggiungere il nome utente al file di configurazione in quanto ciò aiuterà a identificare quale file appartiene a ciascun utente. Questo non è richiesto.

3. Modificare i file di configurazione che sono stati creati per ogni utente (in questo esempio useremo root e oracle):
A. Sostituire il segnaposto <USER> con l'utente "root" che appare in [Service] per il file "vncserver_root@:2.service" e "oracle" per il file "vncserver_oracle@:3.service" con vi.

# vi /etc/systemd/system/vncserver_root@:2.service
# vi /etc/systemd/system/vncserver_oracle@:3.service

Puoi anche utilizzare "sed" per sostituire automaticamente il nome utente:

# sed -i 's/<USER>/root/g' /etc/systemd/system/vncserver_root@:2.service
# sed -i 's/<USER>/oracle/g' /etc/systemd/system/vncserver_oracle@:3.service

B. Aggiungi anche la geometria al file di configurazione per ogni utente. In questo esempio aggiungeremo “-geometry 800×800 ” al file di configurazione. Questo sarà alla fine della riga che inizia con "ExecStart".

# vi /etc/systemd/system/vncserver_root@:2.service
# vi /etc/systemd/system/vncserver_oracle@:3.service

4. Dopo aver apportato le modifiche ai passaggi A e B, la riga che abbiamo modificato nel file di configurazione dovrebbe essere simile a questa:

Per il file “vncserver_root@:2.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=root

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i -geometry 800x800"
PIDFile=/home/root/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

Per il file "vncserver_oracle@:3.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=oracle

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/sbin/runuser -l oracle -c "/usr/bin/vncserver %i -geometry 800x800"
PIDFile=/home/oracle/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

Il comando specificato in ExecStart entry viene invocato quando avviamo il server usando systemctl start; utilizza runuser per eseguire TigerVNC con l'account dell'utente. Il -l argomento fornisce il nome utente e -c specifica il comando e i relativi argomenti che eseguirà runuser. Il file PID entry specifica la directory in cui il processo in esecuzione terrà traccia del suo ID processo.

Nota :A partire da RHEL7.4, le opzioni del server supportate da passare a vncserver al momento della chiamata sono state spostate in un nuovo file chiamato 'config' nella directory ~/.vnc/. Quindi non sarà necessario aggiungere quelle opzioni nella riga ExecStart.

Configura firewalld

1. Il traffico per la porta corrispondente del display dovrebbe essere consentito dal firewall. Il display 0 utilizza la porta 5900, il display 1 utilizza la porta 5901, il display 2 utilizza la porta 5902 e così via. Se utilizzi FirewallD, il servizio vnc-server predefinito apre le porte 5900-5903:

# firewall-cmd --zone=public --permanent --add-service=vnc-server

Se hai bisogno di porte aggiuntive o se non hai bisogno di aprire l'intera gamma, puoi aprire proprio ciò che ti serve usando –add-port:

# firewall-cmd --zone=public --permanent --add-port=5901/tcp

2. Ricarica il firewall per rendere effettive le regole del firewall.

# firewall-cmd  --reload

3. Ricarica la configurazione:

#  systemctl daemon-reload

Avvia i Servizi e imposta la password

1. Ora abiliteremo il servizio vncserver per ogni utente sulla porta selezionata, questo abiliterà anche l'avvio automatico all'avvio del sistema, con i comandi seguenti:

# systemctl enable vncserver_root@:2.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver_root@:2.service to /etc/systemd/system/vncserver_root@:2.service.
# systemctl enable vncserver_oracle@:3.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver_oracle@:3.service to /etc/systemd/system/vncserver_oracle@:3.service.

2. Ricarica la configurazione di systemd per renderlo consapevole dei nuovi file di unità:

# systemctl daemon-reload

3. Configurare una password per ogni utente da utilizzare con vncserver.

# vncpasswd root
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
# vncpasswd oracle
Password:
Verify:
Would you like to enter a view-only password (y/n)? n

4. Dovrai eseguire “vncserver ” nella riga di comando dopo aver effettuato l'accesso come utente. Questo ti chiederà automaticamente di creare una nuova password per l'utente.

# vncserver
You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
xauth:  file /root/.Xauthority does not exist

New 'geeklab:1 (root)' desktop is geeklab:1

Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/geeklab:1.log

Accesso al server VNC con il visualizzatore VNC

È possibile installare qualsiasi software di visualizzazione VNC sul computer client per accedere al server VNC. Sto usando il software realVNC sul mio MAC per accedere al server VNC. Puoi utilizzare uno qualsiasi dei seguenti software di visualizzazione VNC in base al sistema operativo in uso.
1. TigerVNC :http://tigervnc.org
2. Stretto VNC :https://www.tightvnc.com/download.php
3. RealVNC :https://www.realvnc.com/en/connect/download/viewer

Usa il display VNC :1 per connettere il server VNV.

Eccoti!!! Ora sei connesso al server VNC.

Come configurare il server VNC su CentOS/RHEL 6


Cent OS
  1. Come installare il server vnc su RHEL 8 / CentOS 8

  2. Come installare e configurare samba su RHEL 8 / CentOS 8

  3. Come installare e configurare Gitlab su CentOS 8

  4. CentOS / RHEL 7:come installare e configurare il server ftp (vsftpd)

  5. CentOS / RHEL 5:Come installare e configurare il server vsftpd

Come installare e configurare il server VNC in CentOS 7 / RHEL 7

Come installare il server VNC su CentOS 8 / RHEL 8

Come installare e configurare Memcached su CentOS 8

Come installare e configurare il server DHCP su Centos 8

Come configurare il server VNC su CentOS/RHEL 6

Come installare e configurare il server VNC su CentOS/RHEL 8