Explication détaillée de la configuration du bureau à distance du serveur VNC sous CentOS7

VNC: VNC (Virtual Network Computing), est un logiciel de partage d'écran et d'opération à distance utilisant le protocole RFB. Ce logiciel peut envoyer des actions du clavier et de la souris et des images d'écran en temps réel via le réseau. VNC n'a rien à voir avec le système d'exploitation, il peut donc être utilisé sur toutes les plateformes, par exemple, vous pouvez utiliser Windows pour vous connecter à un ordinateur Linux, et vice versa. Même sur un ordinateur sans programme client installé, tant qu'il existe un navigateur prenant en charge JAVA, il peut être utilisé. VNC comprend deux logiciels d'exploitation, client et serveur.
Serveur VNC: Le serveur VNC reçoit la demande de connexion de VNC Viewer et transfère l'écran au client. Dans cet exemple, vous devez installer VNC Server
VNC Viewer sur CentOS7 : client VNC pour transférer les actions du clavier et de la souris vers le serveur. Dans cet exemple, vous devez installer Viewer sur Windows pour vous connecter à un serveur Linux distant

1. Si le système actuel ne dispose pas d'un environnement de bureau, vous devez d'abord installer l'environnement de bureau.
1. Mettez à jour le système
---------------------------------------------- -----------------------------------------------
[root @ CentOS7 ~] # yum update ## Pour éviter certaines erreurs inattendues dans le système, il est préférable de mettre à jour yum vers la dernière, il y a des affaires en cours dans l'environnement de production, il n'est pas recommandé de mettre à jour
------------------ -------------------------------------------------- -------------------------

2. Installez le service de bureau graphique GNOME Desktop
------------------------------------------ -------------------------------------------------- -
[root @ CentOS7 ~] # yum groupinstall "GNOME Desktop"
------------------------------------ -------------------------------------------------- -------

3. Vérifiez le mode de fonctionnement du système
-------------------------------------------- -------------------------------------------------
[ root @ CentOS7 ~] # systemctl get-default
---------------------------------------- -------------------------------------------------- ---

4. Passer en mode de fonctionnement bureau
------------------------------------- --------------------------------------------------
[root @ CentOS7 ~] # systemctl set-default graphical.target
------------------------------------ -------------------------------------------------- -------

5. Démarrez le mode bureau
--------------------------------------------- ------------------------------------------------
[root @ CentOS7 ~] # init 5
------------------------------------------- --------------------------------------------------


2. Configuration VNC

1. Installez vnc, CentOS7 utilise le logiciel tigervnc par défaut pour fournir le service vnc
------------------------------------- -------------------------------------------------- ------
[root @ CentOS7 ~] # yum install tigervnc-server
-------------------------------- -------------------------------------------------- -----------

2. Démarrez le service VNC
Utilisez la commande vncserver pour démarrer le service VNC, le format de la commande est "vncserver: numéro de bureau", où "numéro de bureau" est représenté par "numéro", chaque connexion utilisateur doit occuper 1 bureau
numéro de démarrage 1 bureau Les exemples sont les suivants
------------------------------------------------ ---------------------------------------------
[laopi @ ​​CentOS7 ~ ] $ vncserver: 1

Vous aurez besoin d'un mot de passe pour accéder à vos bureaux.

Mot de passe: ## Connectez-vous au mot de passe vnc, vous pouvez utiliser la commande vncpasswd pour changer le mot de passe à l'avenir
Vérifiez: ## Entrez à nouveau le mot de passe vnc
Souhaitez-vous entrer un mot de passe en lecture seule (o / n)? N ## Voulez-vous afficher uniquement l'utilisateur Le mot de passe n'est pas défini ici
Un mot de passe en lecture seule n'est pas utilisé

Le nouveau bureau 'CentOS77: 1 (laopi)' est CentOS7: 1

Création du script de démarrage par défaut /home/laopi/.vnc/xstartup
Création de la configuration par défaut /home/laopi/.vnc/config Le
démarrage des applications spécifiées dans /home/laopi/.vnc/xstartup
Le fichier journal est /home/laopi/.vnc/CentOS7 : 1.log
---------------------------------------------- -----------------------------------------------
Exécution de la commande Il est exécuté sous l'utilisateur laopi qui doit se connecter à distance, et c'est aussi la première fois. Le sous-répertoire .vnc et le fichier de configuration correspondant seront générés dans le répertoire personnel de l'utilisateur (/ home / laopi /), et un mot de passe est requis ( vncviewer end utilise le mot de passe d'accès de cet utilisateur), le mot de passe est crypté et stocké dans le répertoire personnel de l'utilisateur dans le sous-répertoire .vnc (/home/laopi/.vnc/passwd); en même temps dans le répertoire personnel de l'utilisateur. Le fichier de configuration xstartup (/home/laopi/.vnc/xstartup) est automatiquement créé pour les utilisateurs et les informations de configuration dans ce fichier sont lues à chaque démarrage du service VNC. Ce qui précède consiste à ajouter les droits d'accès des utilisateurs ordinaires via VNC. Si vous souhaitez ajouter les droits d'accès des autres utilisateurs, vous devez effectuer les opérations ci-dessus à l'invite de commande utilisateur correspondante (comme les utilisateurs de test doivent également exécuter [test @ localhost ~] $ vncserver: 1 in Générez le sous-répertoire .vnc correspondant sous le répertoire principal correspondant). Les modifications de mot de passe d'accès pour différents utilisateurs doivent également être effectuées à l'invite de commande correspondante.
Il existe également un fichier "CentOS7: 1.pid" dans le répertoire /home/laopi/.vnc/. Ce fichier enregistre le numéro de processus du système d'exploitation correspondant après le démarrage de VNC. Il est utilisé pour localiser avec précision le numéro de processus lors de l'arrêt du service VNC.

3, numéro de port et le numéro du bureau en utilisant la relation de service VNC
numéro de port VNC et le nombre de services utilisés en relation avec le bureau, VNC utilise le port TCP depuis le début de 5900, après la correspondance entre
le numéro de bureau numéro de port ---- « 1 » est 5901 de
bureau Le numéro est "2" ---- Le numéro de port est 5902 Le
numéro de bureau est "3" ---- Le numéro de port est 5903
.......
Basé sur l'introduction ci-dessus, si la fonction de pare-feu est activée sous Linux, vous devez l'ouvrir manuellement Le port correspondant.

4. Paramètres du pare-feu, ici je désactiverai grossièrement le pare-feu

-------------------------------------------------- -------------------------------------------
[laopi @ ​​CentOS7 ~] # systemctl stop firewalld.service ## Arrêter le pare-feu
[laopi @ ​​CentOS7 ~] # systemctl désactiver firewalld.service ## Interdire le pare-feu de démarrer

-------------------------------------------------- -------------------------------------------

5. Testez le service VNC via le logiciel client RealVNC Viewer

Définir les informations de connexion

Connectez-vous

 

Après une connexion réussie, entrez le nom d'utilisateur et le mot de passe du système pour vous connecter

 

Trois, configurer plusieurs bureaux
peut utiliser la méthode suivante pour démarrer plusieurs bureaux VNC
vncserver: 1
vncserver: 2
vncserver: 3
......
Mais cette méthode de démarrage manuel ne sera pas valide après le redémarrage du serveur, par conséquent, ce qui suit décrit comment faire le système Gérez automatiquement le VNC de plusieurs bureaux en créant un fichier Systemd Unit.
Le format du fichier est: vncserver @: desktop number.service, le fichier Unit est pratique pour un démarrage rapide, un arrêt, un redémarrage du service

1. Créez des fichiers Systemd Unit pour les utilisateurs de laopi. (Le premier utilisateur vncserver @: 1.service, le deuxième utilisateur vncserver @: 2.service, etc.) peut être créé en copiant le fichier modèle
-------------- -------------------------------------------------- -----------------------------
[root @ CentOS7 ~] # cp /lib/systemd/system/[email protected] / etc /systemd/system/vncserver@:1.service ## Nécessite une opération utilisateur root
--------------------------------- -------------------------------------------------- ----------

3. Modifiez le fichier /etc/systemd/system/vncserver@:1.service. Le fichier copié est un fichier modèle. Remplacez <utilisateur> dans le fichier par l'utilisateur qui doit se connecter. Le type est changé de la fourchette par défaut en simple, ici Si vous ne changez pas le démarrage ultérieur, vous obtiendrez une erreur
------------------------------------------ -------------------------------------------------- -
[user1 @ localhost ~] $ vim /etc/systemd/system/vncserver\@\:1.service
[Unit]
Description = Service de bureau à distance (VNC)
Après = syslog.target network.target
[Service]
Type = simple #
#Ici, la fourche est remplacée par ExecStartPre = / bin / sh -c '/ usr / bin / vncserver -kill% i> / dev / null 2> & 1 ||:'
ExecStart = / usr / sbin / runuser -l laopi- c "/ usr / bin / vncserver% i" ## Ici <utilisateur> est remplacé par l'utilisateur qui doit se connecter laopi
PIDFile = / home / laopi / .vnc /% H% i.pid ## ici sera <utilisateur>Changer pour l'utilisateur qui doit se connecter laopi
ExecStop = / bin / sh -c '/ usr / bin / vncserver -kill% i> / dev / null 2> & 1 || : '
[Installer]
WantedBy = multi-user.target
-------------------------------------- -------------------------------------------------- -----

3 、 刷新 systemctl
---------------------------------------------- -----------------------------------------------
[root @ CentOS7 ~] # systemctl daemon-reload
------------------------------------------ -------------------------------------------------- -

4. Démarrez le service
---------------------------------------------- -----------------------------------------------
[root @ CentOS7 ~] # systemctl start vncserver @: 1.service #Start
------------------------------------ -------------------------------------------------- -------
Si le serveur ne démarre pas comme suit:
[root @ CentOS7 ~] # systemctl start vncserver @: 1.service Le
travail pour vncserver @: 1.service a échoué car une limite de ressources configurée a été dépassée. Voir " systemctl status vncserver @: 1.service "et" journalctl -xe "pour plus de détails.
-------------------------------- -------------------------------------------------- ----------- L'
erreur ci-dessus est très probablement que le type n'a pas été changé de la fourche par défaut à simple, redémarrez le service après le changement, et redémarrez-le plusieurs fois une fois qu'il n'est pas facile à utiliser, à cause de cela j'ai beaucoup gaspillé Pendant une demi-journée, de nombreux articles n'ont pas besoin de changer cela, mais j'ai seulement changé cette option sous CentOS 7.7 pour l'utiliser. Je ne sais pas pourquoi.
Cette méthode est résolue: supprimez le répertoire /tmp/.X11-unix/ et réactivez-le. C'est juste un enregistrement sans vérification.

5. Configurez le service pour démarrer
-------------------------------------------- -------------------------------------------------
[ root @ CentOS7 ~] # systemctl enable vncserver @: 1.service
------------------------------------ -------------------------------------------------- -------

6. Options communes
---------------------------------------------- -----------------------------------------------
systemctl stop vncserver @: 1.service #Close
systemctl restart vncserver @: 1.service #Restart
--------------------------------- -------------------------------------------------- ----------

7. Affichez l'état du serveur

 

Le statut ci-dessus est normal, sinon, veuillez vérifier

 

Remarque: Une fois la configuration ci-dessus terminée, redémarrez le système. Lorsque je regarde souvent le service de vncserver @: 1.service, le statut est anormal, mais la connexion est toujours disponible. Après le redémarrage du service, le statut est normal. Je ne connais pas la raison. Erreur de police

 

 

 Référence:

http://blog.itpub.net/31559985/viewspace-2674525/

https://blog.51cto.com/shaonian/2090283

 

Je suppose que tu aimes

Origine www.cnblogs.com/pipci/p/12731317.html
conseillé
Classement