GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Configurez le bureau Xfce sur le serveur distant Ubuntu 16.10 et accédez-y via VNC

Exécuter le bureau sur un serveur distant

Habituellement, vous utiliserez le terminal ssh lorsque vous travaillez sur un serveur Linux distant. Mais il peut arriver que vous ayez besoin d'exécuter une application graphique sur le serveur et de la laisser fonctionner pendant un certain temps.

Récemment, j'ai dû faire quelque chose de similaire et j'ai donc configuré un serveur Ubuntu avec un bureau et y ai accédé via VNC.

L'idée est simple. Installez n'importe quel environnement de bureau de votre choix sur le serveur. Dans ce didacticiel, nous utiliserons Xfce, car il a une empreinte légère par rapport aux plus grands comme Gnome et KDE.

Utilisez ensuite le serveur vnc pour lancer l'environnement de bureau et créer une session d'affichage X à laquelle nous accéderons depuis notre ordinateur de bureau local via un client vnc.

Installer l'environnement de bureau et le serveur VNC

Xfce est un bureau léger et idéal pour une utilisation sur un serveur distant. Installez d'abord les packages xfce et le serveur tightvnc. Ce serait une bonne idée de mettre à jour le cache du package avant de procéder à l'installation proprement dite.

sudo apt-get updatesudo apt-get install xfce4 xfce4-goodies tightvncserver

Notez que cela n'installera que les packages et ne démarrera rien. Nous allons démarrer le vncserver avec des paramètres spécifiques par nous-mêmes, plus loin dans ce guide.

Si le processus dpkg se termine de manière inattendue, vous devrez peut-être exécuter la commande suivante -

# sudo dpkg --configure -a

Créer un nouvel utilisateur pour vnc

La prochaine chose à faire est de créer un utilisateur unix qui sera utilisé pendant les sessions vnc. Le nom d'utilisateur peut être n'importe quoi. Utilisez la commande adduser.

# adduser mikeAjout de l'utilisateur `mike' ...Ajout du nouveau groupe `mike' (1001) ...Ajout du nouvel utilisateur `mike' (1001) avec le groupe `mike' ...Création du répertoire personnel `/home/mike ' ...Copie des fichiers depuis `/etc/skel' ...Entrez le nouveau mot de passe UNIX :Retapez le nouveau mot de passe UNIX :passwd :mot de passe mis à jour avec succèsModification des informations utilisateur pour mikeEntrez la nouvelle valeur ou appuyez sur ENTREE pour le nom complet par défaut :Numéro de chambre [] :Téléphone au travail [] :Téléphone personnel [] :Autre [] : Les informations sont-elles correctes ? [O/n]#

Le vncserver doit lancer l'environnement de bureau avec cet utilisateur unix. Ce qui signifie que vous serez cet utilisateur lorsque vous travaillerez sur le bureau à distance

Configurer le "mot de passe vnc" pour l'utilisateur

Le serveur vnc conserve un mot de passe distinct qui est utilisé pour se connecter au serveur vnc via les clients vnc. Ce mot de passe est différent du mot de passe utilisateur unix. Il est configuré à l'aide de la commande vncpasswd.

Passez d'abord à l'utilisateur "mike" qui a été créé à l'étape précédente et configurez le mot de passe du serveur vnc.

# su - mike

Utilisez ensuite la commande vncpasswd

$ vncpasswdUtilisation du fichier de mot de passe /home/mike/.vnc/passwdVNC Le répertoire /home/mike/.vnc n'existe pas, création. [email protected] :~$

Notez que le fichier passwd n'existait pas et a été créé pour la première fois à cette étape.

Si vous avez déjà exécuté la commande vncserver précédemment, cela aurait créé les fichiers. Lorsque vous exécutez vncserver pour la première fois, il crée un script de démarrage par défaut

$ vncserverVous aurez besoin d'un mot de passe pour accéder à vos bureaux.Mot de passe :Mot de passe trop [email protected]:~$ vncserverVous aurez besoin d'un mot de passe pour accéder à vos bureaux. (o/n) ? nLe nouveau bureau 'X' est desktop :1Création du script de démarrage par défaut /home/enlightened/.vnc/xstartupLe démarrage des applications spécifiées dans le fichier /home/enlightened/.vnc/xstartupLog est /home/enlightened/.vnc/desktop:1.log 

Cependant, nous n'avons pas besoin d'exécuter la commande vncserver. Il sera lancé automatiquement à l'aide de scripts de démarrage.

Créer le script xstartup

Le prochain fichier important est le script xstartup. Il contient des instructions sur les applications X à démarrer. L'environnement de bureau est l'application X que nous devons démarrer.

Faites d'abord une sauvegarde du fichier s'il existe déjà

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Modifiez-le maintenant à l'aide de nano

[email protected] :~$ nano .vnc/xstartup

Remarque - Ceci se trouve dans le répertoire personnel de l'utilisateur vnc, c'est-à-dire /home/mike/.vnc/xstartup

Entrez les lignes suivantes dans le script xstartup

#!/bin/bashxrdb $HOME/.Xresourcesstartxfce4 &

La commande startxfce4 lancera le bureau xfce. Enregistrez le fichier et fermez-le.

Rendez le fichier xstartup exécutable. Ceci est nécessaire pour que vncserver puisse exécuter ce fichier.

$ chmod +x ~/.vnc/xstartup

Créer un fichier de service vnc

L'étape suivante consiste à créer un fichier de service vnc afin que nous puissions démarrer le serveur vnc à l'aide de la commande service et ne pas avoir à exécuter la commande vncserver à chaque fois.

Assurez-vous d'entrer le nom d'utilisateur correct dans la variable USER. Il s'agit de l'utilisateur que le serveur vnc va utiliser pour démarrer la session de bureau.

[email protected] :~# sudo nano /etc/init.d/vncserver

Collez le script suivant

#!/bin/bashPATH="$PATH:/usr/bin/"export USER="mike"DISPLAY="1"DEPTH="16"GEOMETRY="1024x768"OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}". /lib/lsb/init-functionscase "$1" instart)log_action_begin_msg "Démarrage de vncserver pour l'utilisateur '${USER}' sur localhost :${DISPLAY}"su ${USER} -c "/usr/bin/vncserver ${OPTIONS }";;stop)log_action_begin_msg "Arrêt de vncserver pour l'utilisateur '${USER}' sur localhost :${DISPLAY}"su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}";; redémarrage)$0 stop$0 start;;esacexit 0

Enregistrez le fichier et fermez-le. Rendez-le exécutable

# chmod +x /etc/init.d/vncserver

Démarrer le service

Maintenant, tout est lu. Il est temps d'exécuter le vncserver et de tester notre étape.

Rechargez d'abord systemctl afin qu'il puisse utiliser le script de démarrage vncserver.

rechargement du démon systemctl

Maintenant, démarrez vncserver. Il démarre un serveur sur le port 5901

# service vncserver start

Vérifiez qu'il fonctionne

[email protected] :~# service vncserver status● vncserver.service Chargé :chargé (/etc/init.d/vncserver ; mauvais ; préréglage fournisseur :activé) Actif :actif (quitté) depuis le jeu 2017-03- 02 05:36:42 UTC ; Il y a 6 s Docs :man:systemd-sysv-generator(8) Processus :24877 ExecStart=/etc/init.d/vncserver start (code=exited, status=0/SUCCESS)Mar 02 05:36:40 bintu systemd[1 ] :Démarrage de vncserver.service...Mar 02 05:36:40 bintu vncserver[24877] :Su réussi pour vnc par rootMar 02 05:36:40 bintu su[24885]:+ ??? root:vncmars 02 05:36:40 bintu su[24885] :pam_unix(su:session) :session ouverte pour l'utilisateur vnc par (uid=0)mars 02 05:36:42 bintu vncserver[24877] :nouveau 'X' desktop est bintu:1Mar 02 05:36:42 bintu vncserver[24877] :Démarrage des applications spécifiées dans /home/vnc/.vnc/xstartupMar 02 05:36:42 bintu vncserver[24877] :Le fichier journal est /home/vnc/ .vnc/bintu:1.logMar 02 05:36:42 bintu systemd[1] :Démarrage de vncserver.service.
$ chat ~/.vnc/*.pid1857718731
# ps -ef | grep tightvncvnc 24574 1 0 05:32 ? 00:00:00 Xtightvnc :1 -desktop X -auth /home/vnc/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 120000 -rfbauth /home/vnc/.vnc/passwd -rfbport 5901 -fp /usr/share/ fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgbroot 24744 10412 0 05:33 pts/0 00:00:00 grep --color=auto [email protected]:~#

Vérifiez les ports ouverts du serveur vnc. Vous avez besoin du numéro de port correct lors de la connexion à partir du client vnc

# netstat -nlp | grep vnctcp 0 0 0.0.0.0:5901 0.0.0.0:* ÉCOUTER 24574/Xtightvnctcp 0 0 0.0.0.0:6001 0.0.0.0:* ÉCOUTER 24574/Xtightvncunix 2 [ACC] ÉCOUTE DE FLUX 5225386 24574/t/Xtightvnc1- unix/X1

Le serveur Vnc peut également être démarré en appelant directement le script.

# /etc/init.d/vncserver start[ ok ] Démarrage de vncserver (via systemctl) :[email protected]:~#

Pour arrêter vncserver

# service vncserver stop

Installer le client vncviewer sur le bureau

Maintenant que le serveur vnc est opérationnel avec l'environnement de bureau gui, il est temps d'installer un client vnc et d'accéder au bureau à distance.

Installez xtightvncviewer sur Ubuntu.

$ sudo apt-get install xtightvncviewer

Connectez-vous maintenant au serveur vnc distant à l'aide de la commande vncviewer.

$ vncviewer -quality 5 -encodings "copyrect tight hextile zlib corre rre raw" -compresslevel 5 IPADDR:5901

Nous utilisons des encodages de qualité et de compression inférieurs pour compresser les données d'image transférées et les rendre plus rapides.

L'utilisation d'autres visualiseurs vnc comme KRDC peut être plus lente.

Ressources

Pour en savoir plus, consultez ces liens utiles -

http://tightvnc.com/vncviewer.1.htmlhttps://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-16-04

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-14-04
https://www.digitalocean.com/community/tutorials /comment-installer-vnc-pour-ubuntu-12


Ubuntu
  1. Bureau à distance Ubuntu :comment le configurer et s'y connecter

  2. Installer le serveur VNC sur Ubuntu 13.04 / Ubuntu 12.10

  3. Comment configurer le serveur VNC (accès au bureau à distance Linux) sur CentOS/RHEL et Fedora

  4. Comment configurer le serveur X11VNC sur Ubuntu et LinuxMint

  5. Installer le serveur vnc et le client sur Ubuntu

Comment installer et configurer RabbitMQ sur Ubuntu 16.04

Installer et configurer le serveur VNC sur Ubuntu 16.04

Installer et configurer VNC sur Ubuntu 20.04

Comment installer (et désinstaller) XFCE sur Ubuntu

Comment installer et configurer le serveur VNC sur Ubuntu 20.04 LTS

Un guide pour débutants sur la gestion des utilisateurs sur Ubuntu Desktop et Server