Chapitre 11. TigerVNC
TigerVNC
(de l'anglais, « Tiger Virtual Network Computing ») est un système pour le partage de bureau graphique vous permettant de contrôler d'autres ordinateurs à distance.
TigerVNC
fonctionne sur le principe client-serveur : un serveur partage sa sortie (vncserver
) et un client (vncviewer
) se connecte au serveur.
Note
Contrairement aux distributions précédentes de Red Hat Enterprise Linux, sur Red Hat Enterprise Linux 7
TigerVNC
utilise le démon de gestion de systèmes systemd
pour sa configuration. Le fichier de configuration /etc/sysconfig/vncserver
a été remplacé par /etc/systemd/system/vncserver@.service
.
11.1. Serveur VNC
vncserver
est un utilitaire qui lance un bureau VNC (Virtual Network Computing). Il exécute Xvnc avec les options appropriées et lance un gestionnaire de fenêtre sur le bureau VNC. vncserver
autorise les utilisateurs à exécuter des sessions séparées en parallèle sur une machine qui peut ensuite être accédée par un nombre illimité de clients, quelle que soit leur origine.
11.1.1. Installer un serveur VNC
Pour installer le serveur TigerVNC, veuillez exécuter la commande suivante en tant qu'utilisateur
root
:
~]# yum install tigervnc-server
11.1.2. Configurer un serveur VNC
Le serveur VNC peut être configuré pour lancer un affichage pour un ou plusieurs utilisateurs, à condition que les comptes de ces utilisateurs existent sur le système, avec des paramètres optionnels comme les paramètres d'affichage, l'adresse et le port réseau, et les paramètres de sécurité.
Procédure 11.1. Configurer un affichage VNC pour un utilisateur unique
- Un fichier de configuration nommé
/etc/systemd/system/vncserver@.service
est requis. Pour créer ce fichier, copiez le fichier/usr/lib/systemd/system/vncserver@.service
en tant qu'utilisateurroot
:~]#
cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
Il n'est pas nécessaire d'inclure le numéro d'affichage dans le nom du fichier carsystemd
crée automatiquement l'instance nommée de manière appropriée en mémoire à la demande, en remplaçant'%i'
dans le fichier du service par le numéro d'affichage. Pour un utilisateur unique, il n'est pas nécessaire de renommer le fichier. Pour de multiples utilisateurs, un fichier de service nommé de manière unique est requis pour chaque utilisateur, par exemple, en ajoutant le nom d'utilisateur au nom du fichier. Veuillez consulter Section 11.1.2.1, « Configurer un serveur VNC pour deux utilisateurs » pour obtenir plus de détails. - Modifiez
/etc/systemd/system/vncserver@.service
, en remplaçant USER par le nom de l'utilisateur. Veuillez laisser les lignes restantes du fichier intactes. L'argument-geometry
spécifie la taille du bureau VNC à créer. Par défaut, celle-ci est définie sur1024x768
.ExecStart=/usr/sbin/runuser -l USER -c "/usr/bin/vncserver %i -geometry 1280x1024" PIDFile=/home/USER/.vnc/%H%i.pid
- Enregistrez les changements.
- Pour que les changements entrent en vigueur immédiatement, veuillez exécuter la commande suivante :
~]#
systemctl daemon-reload
- Paramétrez le mot de passe de l'utilisateur (ou des utilisateurs) défini(s) dans le fichier de configuration. Remarquez que vous devrez d'abord passer de l'utilisateur
root
à utilisateur USER.~]#
su - USER~]$
vncpasswd
Password: Verify:Important
Le mot de passe stocké n'est pas chiffré, toute personne ayant accès au fichier de mot de passe peut trouver le mot de passe en texte clair.
Procédez avec la Section 11.1.3, « Lancer le serveur VNC ».
11.1.2.1. Configurer un serveur VNC pour deux utilisateurs
Si vous souhaitez configurer plus d'un utilisateur sur la même machine, veuillez créer différents fichiers de service de type modèle, un par utilisateur.
- Créez deux fichiers de service, par exemple
vncserver-USER_1@.service
etvncserver-USER_2@.service
. Veuillez substituer USER dans ces deux fichiers par le nom d'utilisateur correct. - Définissez les mots de passe pour les deux utilisateurs :
~]$
su - USER_1
~]$
vncpasswd
Password: Verify:~]$
su - USER_2
~]$
vncpasswd
Password: Verify:
11.1.3. Lancer le serveur VNC
Pour lancer ou activer le service, spécifiez le numéro d'affichage directement dans la commande. Le fichier configuré ci-dessus dans Procédure 11.1, « Configurer un affichage VNC pour un utilisateur unique » sert de modèle, dans lequel
%i
est remplacé par le numéro d'affichage par systemd
. Avec un numéro d'affichage valide, exécutez la commande suivante :
~]#
systemctl start vncserver@:display_number.service
Vous pouvez également autoriser le service à être lancé automatiquement lors du démarrage système. Puis, une fois connecté,
vncserver
est automatiquement lancé. En tant qu'utilisateur root
, veuillez exécuter une commande comme suit :
~]#
systemctl enable vncserver@:display_number.service
À ce moment, d'autres utilisateurs sont en mesure d'utiliser un programme visionneur VNC pour se connecter au serveur VNC en utilisant le numéro d'affichage et le mot de passe défini. À condition qu'un bureau graphique soit installé, une instance de ce bureau sera affichée. Il ne s'agira pas de la même instance que celle qui est actuellement affichée sur la machine cible.
11.1.3.1. Configurer un serveur VNC pour deux utilisateurs et deux affichages différents
Pour les deux serveurs VNC configurés, vncserver-USER_1@.service et vncserver-USER_2@.service, vous pouvez activer différents numéros d'affichage. Par exemple, les commande suivantes amèneront le serveur VNC de l'utilisateur USER_1 à être lancé sur l'affichage 3, et au serveur VNC de l'utilisateur USER_2 à être lancé sur l'affichage 5 :
~]#
systemctl start vncserver-USER_1@:3.service
~]#
systemctl start vncserver-USER_2@:5.service
11.1.4. Fermer une session VNC
De même que pour l'activation du service
vncserver
, il est possible de désactiver le lancement automatique du service pendant le démarrage système :
~]#
systemctl disable vncserver@:display_number.service
Sinon, lorsque votre système est en cours d'utilisation, vous pouvez arrêter le service en exécutant la commande suivante, en tant qu'utilisateur
root
:
~]#
systemctl stop vncserver@:display_number.service