GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installer et configurer le serveur VNC sur Ubuntu 16.04

La manière traditionnelle d'administrer le serveur est via ssh et la ligne de commande. Mais parfois, vous devez exécuter une application avec une interface graphique sur un serveur, et comme vous ne vous asseyez généralement pas à côté du serveur et même si vous le faites, le serveur peut ne pas avoir de moniteur et de clavier, vous avez besoin d'une sorte de bureau à distance.

VNC est une bonne solution pour cela, qui est largement utilisée et qui est assez facile à configurer. Ubuntu a TightVNC dans les référentiels et dans ce didacticiel, nous allons configurer un serveur TightVNC multi-utilisateurs sur Ubuntu Server 16.04.

Pour l'interface graphique, nous utiliserons XFCE qui est une alternative plus légère à GNOME et Unity.

Installer le serveur VNC (Tight VNC) et le bureau (XFCE)

Nous commençons d'abord par installer le serveur TightVNC et l'environnement de bureau XFCE.

sudo apt install gnome-core xfce4 firefox xfce4-goodies tightvncserver

Ensuite, nous devons configurer le serveur VNC avec un mot de passe pour se connecter en tant qu'utilisateur 'miki'

vncserver

Il vous demandera également un mot de passe en lecture seule, vous en avez besoin si vous voulez que quelqu'un se connecte à votre session VNC sans contrôle du curseur et du clavier, uniquement en tant que spectateur. Ce mot de passe doit être différent de votre mot de passe principal. Si vous ne prévoyez pas d'avoir des spectateurs, vous pouvez choisir de ne pas saisir le mot de passe de visualisation uniquement. Une fois ce processus terminé, l'instance VNC sera lancée sur le port 5901 et VNCserver comptera ce port comme :1. Si vous démarrez plusieurs instances de VNC, vous aurez plusieurs ports d'affichage, et il incrémentera les deux numéros de 1, à :2 et 5902 et ainsi de suite pour chaque instance. Pour continuer la configuration, nous devons en fait tuer toutes les instances du serveur VNC. Nous le faisons en suivant la commande :

vncserver -kill :1

Une fois cette opération effectuée, le fichier de configuration du serveur VNC peut être modifié pour sélectionner l'environnement de bureau qui sera démarré lors de la connexion au serveur VNC. Le fichier dont je parle s'appelle xstartup et se trouve dans le répertoire caché .vnc dans ~/ dir. Commençons par sauvegarder ce fichier

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

Et puis créez un nouveau fichier à partir de table rase

nano ~/.vnc/xstartup

Dans ce fichier vide, collez ces quelques lignes :

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Ajouter un bit exécutable à ce fichier

sudo chmod +x ~/.vnc/xstartup

Ensuite, nous pouvons redémarrer le serveur VNC

vncserver

Connexion au serveur VNC

Ensuite, nous devons nous connecter au serveur VNC pour voir si notre configuration fonctionne. Nous pouvons utiliser n'importe quel client VNC, comme par exemple Vinagre ou Remote Desktop Viewer, comme on l'appelle aussi. Installez-le d'abord et démarrez-le

sudo apt install vinagre

Entrez le nom de votre serveur, le port 5901 et cliquez sur se connecter. Vous devriez être invité à saisir votre mot de passe, puis accéder à XFCE

Vous pouvez vous connecter à cette session à partir d'un nombre illimité d'ordinateurs, mais vous contrôlerez alors tous un curseur de souris et aurez la même session. Si certains utilisateurs tapent le mot de passe d'affichage uniquement (à condition que vous en ayez créé un), ils n'auront pas le contrôle du curseur, mais ils seront toujours en session unique et regarderont un même écran.

Plusieurs utilisateurs

Il est possible d'avoir plusieurs sessions VNC qui n'interfèrent pas les unes avec les autres. Cela se fait en créant un nombre arbitraire d'utilisateurs et chaque utilisateur aura son propre port d'affichage et sa propre instance de serveur VNC. Et à son tour, il exécutera sa propre instance d'environnement de bureau, ou cela pourrait être un DE entièrement séparé. Commençons d'abord par ajouter un nouvel utilisateur

sudo adduser newuser

Ensuite, nous nous connectons en tant que cet utilisateur

su newuser

Et créons un mot de passe pour le nouvel utilisateur

vncserver

Outre le mot de passe, cela a également créé un nouveau processus qui écoute sur le port 5902. Nous devons tuer ce processus afin de pouvoir modifier le fichier de configuration.

vncserver -kill :2

Et nous devons en fait répéter le processus de plus tôt. Sauvegardez d'abord le fichier xstartup

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

Ensuite, créez-en un nouveau à partir de zéro

nano ~/.vnc/xstartup

Trois dernières lignes ci-dessous

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Et rendez-le exécutable :

sudo chmod +x ~/.vnc/xstartup

Exécutez maintenant vncserver pour lancer le processus

vncserver :2

Et vous pouvez maintenant vous connecter au port 5902 et avoir une session séparée.

Comment configurer le tunnel SSH

Jusqu'à présent, nous avons réussi à établir la connexion directement sur les ports d'affichage, dans notre cas 5901 et 5902. Mais que se passe-t-il si ces ports sont fermés, par un pare-feu, et qu'il est pour une raison quelconque impossible de les ouvrir. Il existe une solution dans ce cas, nous pouvons utiliser le tunneling SSH. Le port 22 ou tout autre port que vous utilisez pour l'accès SSH sur un serveur peut être utilisé pour tromper la visionneuse VNC que le serveur VNC s'exécute sur localhost sur le port 5901 ou 5902. Avec cette commande, vous établissez un tunnel SSH :

ssh -L 5902:127.0.0.1:5902 [email protected]

Assurez-vous de remplacer la partie en surbrillance par votre adresse IP et votre nom d'utilisateur.

Après cela, vous pouvez démarrer Vinagre ou Remmina et entrer localhot:5902 comme adresse. Il pensera que le bureau à distance est sur localhost et acheminera le trafic via le port ssh vers votre serveur, tant que la connexion SSH est active.

Création des unités systemd

Tout est bon lorsque vous définissez manuellement l'utilisateur et le serveur sur SSH, mais vous devez le refaire à chaque redémarrage du serveur. Donc, pour éviter cela, créons un fichier d'unité systemd. C'est le nouveau nom fantaisiste du script de démarrage de la vieille école. Nous aurons en fait besoin d'en faire deux pour deux utilisateurs, créons-en d'abord un

sudo nano /etc/systemd/system/[email protected]

Là, mettez cette configuration

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=miki
PAMName=login
PIDFile=/home/miki/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Ensuite tu en fais un autre :

sudo nano /etc/systemd/system/[email protected]

Et collez les mêmes choses, juste dans les deux cas, changez le nom d'utilisateur pour vos propres utilisateurs. Maintenant, nous devons tuer les anciens processus s'ils sont toujours en cours d'exécution et recharger les fichiers de l'unité

vncserver -kill :2
vncserver -kill :1

sudo systemctl daemon-reload

Et commencez à utiliser les fichiers unitaires

sudo systemctl start vncserver@1

sudo systemctl start vncserver@2

Et si vous voulez un serveur vnc à chaque démarrage, faites une fois de plus la même chose que ci-dessus, activez simplement au lieu de démarrer.

Conclusion

Dans ce tutoriel, nous avons appris comment installer et configurer le serveur VNC avec deux utilisateurs sur Ubuntu 16.04. Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Ubuntu
  1. Comment installer et configurer un serveur NFS sur Ubuntu 20.04

  2. Comment installer et configurer VNC sur Ubuntu 20.04

  3. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  4. Comment installer et configurer le serveur Redis dans Ubuntu

  5. Installer le serveur vnc et le client sur Ubuntu

Comment installer et configurer le serveur VNC sur Ubuntu 20.04 LTS

Comment installer et configurer le serveur OpenLDAP sur Ubuntu 16.04

Comment installer et configurer le serveur VNC sur Ubuntu 20.04

Comment installer et configurer VNC sur Ubuntu Server 20.04

Installer et configurer Virtualmin sur le serveur Ubuntu 20.04 / Debian 10

Comment installer et configurer VNC sur Ubuntu 20.04 ?