Linux

Comment installer et configurer VNC sur Ubuntu 20.04

Comment installer et configurer VNC sur Ubuntu 20.04

Virtual Network Computing (VNC) est un système de partage de bureau graphique qui vous permet d'utiliser votre clavier et votre souris pour contrôler un autre ordinateur à distance. C'est une alternative open source au protocole de bureau à distance (RDP) de Microsoft.

Cet article explique comment installer et configurer un serveur VNC sur Ubuntu 20.04. Nous vous montrerons également comment vous connecter en toute sécurité au serveur VNC via un tunnel SSH.

Installation de l'environnement de bureau #

Les serveurs Ubuntu sont gérés à partir de la ligne de commande et n'ont pas d'environnement de bureau installé par défaut. Si vous exécutez la version de bureau d'Ubuntu, ignorez cette étape.

Il existe divers environnements de bureau disponibles dans les référentiels Ubuntu. Une option consiste à installer Gnome, qui est l'environnement de bureau par défaut dans Ubuntu 20.04. Une autre option consiste à installer Xfce . Il s'agit d'un environnement de bureau rapide, stable et léger, ce qui le rend idéal pour une utilisation sur un serveur distant.

Dans ce guide, nous allons installer Xfce. Saisissez les commandes suivantes en tant qu'utilisateur avec les privilèges sudo :

mise à jour sudo aptsudo apt installer xfce4 xfce4-goodies

Selon votre système, le téléchargement et l'installation des packages Xfce peuvent prendre un certain temps.

Installation du serveur VNC #

Il existe plusieurs serveurs VNC différents disponibles dans les référentiels Ubuntu, tels que TightVNC , TigerVNC et x11vnc . Chaque serveur VNC a des forces et des faiblesses différentes en termes de vitesse et de sécurité.

Nous allons installer TigerVNC. Il s'agit d'un serveur VNC hautes performances activement maintenu. Tapez la commande suivante pour installer le package :

sudo apt installer tigervnc-standalone-server

Configuration de l'accès VNC #

Une fois le serveur VNC installé, l'étape suivante consiste à créer la configuration utilisateur initiale et à définir le mot de passe.

Définissez le mot de passe utilisateur à l'aide du vncpasswd commander. N'utilisez pas sudo lors de l'exécution de la commande ci-dessous :

vncpasswd

Vous serez invité à saisir et à confirmer le mot de passe et à le définir comme mot de passe en lecture seule. Si vous choisissez de configurer un mot de passe en lecture seule, l'utilisateur ne pourra pas interagir avec l'instance VNC avec la souris et le clavier.

Mot de passe : Vérifier : souhaitez-vous saisir un mot de passe en lecture seule (o/n)? m 

Le fichier de mot de passe est stocké dans le ~/.vnc répertoire, qui est créé s'il n'est pas présent.

Ensuite, nous devons configurer TigerVNC pour utiliser Xfce. Pour cela, créez le fichier suivant :

~/.vnc/xstartup
nano ~/.vnc/xstartup
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 

Enregistrez et fermez le fichier. Les commandes ci-dessus sont automatiquement exécutées chaque fois que vous démarrez ou redémarrez le serveur TigerVNC.

le ~/.vnc/xstartup le fichier doit également avoir des autorisations d'exécution. Utilisez le chmod commande pour définir les autorisations de fichier :

chmod u+x ~/.vnc/xstartup

Si vous devez transmettre des options supplémentaires au serveur VNC, créez un fichier nommé configuration et ajoutez une option par ligne. Voici un exemple:

~/.vnc/config
géométrie=1920x1080 dpi=96 

Vous pouvez maintenant démarrer le serveur VNC en utilisant le vncserver commander:

vncserver
Nouveau 'serveur2.linuxiser.com:1 (linuxize)' desktop à :1 sur la machine server2.linuxiser.com Démarrage des applications spécifiées dans /home/linuxize/.Le fichier journal vnc/xstartup est /home/linuxize/.vnc/serveur2.linuxiser.com:1.log Utilisez xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 pour se connecter au serveur VNC. 

Noter la :1 après le nom d'hôte dans la sortie ci-dessus. Ceci indique le numéro du port d'affichage sur lequel le serveur vnc s'exécute. Dans cet exemple, le serveur s'exécute sur le port TCP 5901 (5900+1). Si vous créez une deuxième instance avec vncserver il fonctionnera sur le prochain port libre i.e :2, ce qui signifie que le serveur s'exécute sur le port 5902 (5900+2).

Ce qu'il est important de retenir, c'est que lorsque vous travaillez avec des serveurs VNC, :X est un port d'affichage qui fait référence à 5900+X.

Vous pouvez obtenir une liste de toutes les sessions VNC en cours en tapant :

vncserver -list
Sessions du serveur TigerVNC : X DISPLAY # RFB PORT # PROCESS ID :1 5901 5710 

Avant de passer à l'étape suivante, arrêtez l'instance VNC à l'aide de la vncserver commande avec un -tuer option et le numéro du serveur en argument. Dans cet exemple, le serveur s'exécute sur le port 5901 (:1), nous allons donc l'arrêter avec:

vncserver -kill : 1
Tuer le processus Xtigervnc ID 5710… succès! 

Création d'un fichier unité Systemd #

Au lieu de démarrer manuellement la session VNC, créons un fichier d'unité systemd pour démarrer, arrêter et redémarrer le service VNC si nécessaire.

Ouvrez votre éditeur de texte et copiez et collez la configuration suivante dedans. Assurez-vous de changer le nom d'utilisateur à la ligne 7 pour qu'il corresponde à votre nom d'utilisateur.

sudo nano /etc/systemd/system/[email protected] service
/etc/systemd/system/[email protected] service
[Unité] Description=Service de bureau à distance (VNC) Après=syslog.réseau cible.target [Service] Type=simple User=linuxize PAMName=login PIDFile=/home/%u/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.cible

Enregistrez et fermez le fichier.

Avertissez systemd qu'un nouveau fichier d'unité est créé :

sudo systemctl démon-recharger

Activez le service pour démarrer au démarrage :

sudo systemctl activer [email protected] service

Le nombre 1 après le @ signe définit le port d'affichage sur lequel le service VNC s'exécutera. Cela signifie que le serveur VNC écoutera sur le port 5901, comme nous l'avons vu dans la section précédente.

Démarrez le service VNC en exécutant :

sudo systemctl démarrer [email protected] service

Vérifiez que le service est démarré avec succès avec :

état sudo systemctl [email protected] service
[email protected] - Service de bureau à distance (VNC) Chargé : chargé (/etc/systemd/system/[email protected] service; activée; préréglage fournisseur : activé) Actif : actif (en cours d'exécution) depuis le vendredi 26/03/2021 20:00:59 UTC ; il y a 3s… 

Connexion au serveur VNC #

VNC n'est pas un protocole crypté et peut être sujet au reniflage de paquets. L'approche recommandée consiste à créer un tunnel SSH et à transférer en toute sécurité le trafic de votre ordinateur local sur le port 5901 vers le serveur sur le même port.

Configurer le tunneling SSH sur Linux et macOS #

Si vous exécutez Linux, macOS ou tout autre système d'exploitation basé sur Unix sur votre machine, vous pouvez facilement créer un tunnel SSH avec la commande suivante :

ssh -L 5901:127.0.0.1:5901 -N -f -l vagabond 192.168.33.dix

Vous serez invité à saisir le mot de passe utilisateur.

Assurez-vous de remplacer Nom d'utilisateur et Adresse IP du serveur avec votre nom d'utilisateur et l'adresse IP de votre serveur.

Configurer le tunneling SSH sur Windows #

Si vous exécutez Windows, vous pouvez configurer le tunneling SSH à l'aide du client PuTTY SSH .

Ouvrez Putty et entrez l'adresse IP de votre serveur dans le champ Nom d'hôte ou adresse IP domaine.

Sous le Lien menu, boîte, développer SSH, et sélectionnez Tunnels. Entrez le port du serveur VNC (5901) dans le Port source champ et entrez adresse_ip_serveur:5901 dans le Destination champ et cliquez sur le Ajouter bouton comme indiqué dans l'image ci-dessous:

Retournez au Session page pour enregistrer les paramètres, vous n'avez donc pas besoin de les saisir à chaque fois. Vers le serveur distant, sélectionnez la session enregistrée et cliquez sur le bouton Ouvert bouton.

Connexion à l'aide de Vncviewer #

Maintenant que le tunnel SSH est créé, il est temps d'ouvrir votre Vncviewer et de vous connecter au serveur VNC à hôte local : 5901.

Vous pouvez utiliser n'importe quelle visionneuse VNC telle que TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre et VNC Viewer pour Google Chrome .

Nous utiliserons TigerVNC. Ouvrez la visionneuse, entrez hôte local : 5901, et cliquez sur le Relier bouton.

Entrez votre mot de passe utilisateur lorsque vous y êtes invité, et vous devriez voir le bureau Xfce par défaut. Cela ressemblera à quelque chose comme ceci :

Vous pouvez commencer à interagir avec le bureau XFCE distant depuis votre machine locale à l'aide de votre clavier et de votre souris.

Conclusion #

Nous vous avons montré comment installer et configurer un serveur VNC opérationnel, sur Ubuntu 20.04.

Pour configurer votre serveur VNC afin de démarrer un affichage pour plusieurs utilisateurs, créez la configuration initiale et définissez le mot de passe à l'aide de la vncpasswd commander. Vous devrez également créer un nouveau fichier de service en utilisant un port différent.

N'hésitez pas à laisser un commentaire si vous avez des questions.

Meilleurs jeux de laboratoire d'applications Oculus
Si vous êtes propriétaire d'un casque Oculus, vous devez être au courant du chargement latéral. Le chargement latéral est le processus d'installation ...
Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...
5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...