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 Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Pour installer le serveur TigerVNC, veuillez exécuter la commande suivante en tant qu'utilisateur
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
root
:
yum install tigervnc-server
~]# yum install tigervnc-server
11.1.2. Configurer un serveur VNC Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
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
~]# cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
ExecStart=/usr/sbin/runuser -l USER -c "/usr/bin/vncserver %i -geometry 1280x1024" PIDFile=/home/USER/.vnc/%H%i.pid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Enregistrez les changements.
- Pour que les changements entrent en vigueur immédiatement, veuillez exécuter la commande suivante :
systemctl daemon-reload
~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
~]# su - USER ~]$ vncpasswd Password: Verify:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
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 :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.1.3. Lancer le serveur VNC Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
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
~]# systemctl start vncserver@:display_number.service~]# systemctl start vncserver@:display_number.service~]# systemctl start vncserver@:display_number.service~]# 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
~]# systemctl enable vncserver@:display_number.service~]# systemctl enable vncserver@:display_number.service~]# systemctl enable vncserver@:display_number.service~]# 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 Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
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
~]# systemctl start vncserver-USER_1@:3.service~]# systemctl start vncserver-USER_1@:3.service
~]# systemctl start vncserver-USER_2@:5.service~]# systemctl start vncserver-USER_2@:5.service
11.1.4. Fermer une session VNC Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
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
~]# systemctl disable vncserver@:display_number.service~]# 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
~]# systemctl stop vncserver@:display_number.service~]# systemctl stop vncserver@:display_number.service