GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et configurer le serveur VNC (TigerVNC) dans CentOS / RHEL 7

Virtual Network Computing (VNC) fonctionne en capturant le tampon de trame de l'écran et en le rendant disponible sur le réseau. Cet article vous montre comment installer TigerVNC et le configurer pour fournir aux utilisateurs distants un accès à leur environnement de bureau graphique comme s'ils étaient physiquement devant le système.

Pour l'exemple de cet article, nous utiliserons un serveur CentOS 7 comme serveur VNC et un ordinateur local avec un client VNC pour s'y connecter. Il suppose que le système distant exécute le serveur OpenSSH SSH et un environnement de bureau graphique tel que GNOME ou KDE. Vous pouvez vous référer au post "CentOS / RHEL 7 :Comment installer l'interface graphique" pour installer l'environnement graphique avant de continuer.

Installation du serveur VNC

1. Assurez-vous d'avoir accès à un référentiel yum local ou distant pour installer les packages requis.

# yum repolist

2. Installez le package de bureau GUI s'il n'est pas déjà installé pour avoir un accès GUI au serveur VNC.

# yum groupinstall "Server with GUI"

3. Sur le serveur VNC, installez le package serveur TigerVNC :

# yum install tigervnc-server

Configuration du serveur VNC

Copiez le fichier de configuration, /lib/systemd/system/[email protected] , dans le répertoire /etc/systemd/system/ suivant le nom de 'vncserver_[username]@:[port].service ‘. Par exemple :

# 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
Remarque :Il est courant de créer des fichiers de configuration différents pour chaque utilisateur. Comme meilleure pratique, nous pouvons ajouter le nom d'utilisateur au fichier de configuration car cela aidera à identifier quel fichier appartient à chaque utilisateur. Ce n'est pas obligatoire.

3. Modifiez les fichiers de configuration qui ont été créés pour chaque utilisateur (Dans cet exemple, nous allons utiliser root et oracle) :
A. Remplacez l'espace réservé <USER> par l'utilisateur "root" qui apparaît dans le [Service] pour le fichier "vncserver_root@:2.service" et "oracle" pour le fichier "vncserver_oracle@:3.service" par vi.

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

Vous pouvez également utiliser "sed" pour effectuer automatiquement le remplacement du nom d'utilisateur :

# 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. Ajoutez également la géométrie au fichier de configuration pour chaque utilisateur. Dans cet exemple nous allons ajouter « -geometry 800×800 ” au fichier de configuration. Ce sera à la fin de la ligne commençant par "ExecStart".

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

4. Après avoir apporté les modifications aux étapes A et B, la ligne que nous avons modifiée sous le fichier de configuration devrait ressembler à ceci :

Pour le fichier "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

Pour le fichier "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

La commande spécifiée dans ExecStart l'entrée est invoquée lorsque nous démarrons le serveur à l'aide de systemctl start ; il utilise runuser pour exécuter TigerVNC sous le compte de l'utilisateur. Le -l l'argument fournit le nom d'utilisateur et -c spécifie la commande et ses arguments que runuser exécutera. Le PIDFile L'entrée spécifie le répertoire dans lequel le processus en cours d'exécution gardera une trace de son ID de processus.

Remarque  :À partir de RHEL7.4, les options de serveur prises en charge à transmettre à vncserver lors de l'appel ont été déplacées vers un nouveau fichier nommé "config" dans le répertoire ~/.vnc/. Il ne sera donc pas nécessaire d'ajouter ces options dans la ligne ExecStart.

Configurer le pare-feu

1. Le trafic pour le port correspondant de l'écran doit être autorisé par le pare-feu. L'affichage 0 utilise le port 5900, l'affichage 1 utilise le port 5901, l'affichage 2 utilise le port 5902, etc. Si vous utilisez FirewallD, le service prédéfini vnc-server ouvre les ports 5900-5903 :

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

Si vous avez besoin de ports supplémentaires ou si vous n'avez pas besoin d'ouvrir toute la plage, vous pouvez ouvrir uniquement ce dont vous avez besoin en utilisant -add-port :

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

2. Rechargez le pare-feu pour que les règles de pare-feu soient efficaces.

# firewall-cmd  --reload

3. Rechargez la configuration :

#  systemctl daemon-reload

Démarrer les services et définir le mot de passe

1. Nous allons maintenant activer le service vncserver pour chaque utilisateur sur le port sélectionné, cela activera également le démarrage automatique au démarrage du système, avec les commandes ci-dessous :

# 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. Rechargez la configuration de systemd pour lui faire prendre connaissance des nouveaux fichiers d'unité :

# systemctl daemon-reload

3. Configurez un mot de passe pour chaque utilisateur à utiliser avec 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. Vous devrez exécuter "vncserver ” dans la ligne de commande en étant connecté en tant qu'utilisateur. Cela vous demandera automatiquement de créer un nouveau mot de passe pour l'utilisateur.

# 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

Accéder au serveur VNC avec la visionneuse VNC

Vous pouvez installer n'importe quel logiciel de visualisation VNC sur votre ordinateur client pour accéder au serveur VNC. J'utilise le logiciel realVNC sur mon MAC pour accéder au serveur VNC. Vous pouvez utiliser n'importe lequel des logiciels de visualisation VNC ci-dessous en fonction du système d'exploitation que vous utilisez.
1. TigerVNC :http://tigervnc.org
2. TightVNC :https://www.tightvnc.com/download.php
3. RealVNC :https://www.realvnc.com/en/connect/download/viewer

Utiliser l'affichage VNC  :1 pour connecter le serveur VNV.

Te voilà!!! Vous êtes maintenant connecté au serveur VNC.

Comment configurer le serveur VNC sur CentOS/RHEL 6


Cent OS
  1. Comment installer le serveur vnc sur RHEL 8 / CentOS 8

  2. Comment installer et configurer samba sur RHEL 8 / CentOS 8

  3. Comment installer et configurer Gitlab sur CentOS 8

  4. CentOS / RHEL 7 :Comment installer et configurer le serveur ftp (vsftpd)

  5. CentOS / RHEL 5 :Comment installer et configurer le serveur vsftpd

Comment installer et configurer le serveur VNC dans CentOS 7 / RHEL 7

Comment installer le serveur VNC sur CentOS 8 / RHEL 8

Comment installer et configurer Memcached sur CentOS 8

Comment installer et configurer le serveur DHCP sur Centos 8

Comment configurer le serveur VNC sur CentOS/RHEL 6

Comment installer et configurer VNC Server sur CentOS/RHEL 8