Connexion à un serveur virtuel via VNC. Programmes gratuits pour travailler avec le réseau B.4

Travailler avec le client VNC. Le matériel s'adresse aux utilisateurs inexpérimentés.

1. Installation d'un client VNC
2. Connexion d'un client VNC à un ordinateur distant
3. Déconnexion du client VNC de l'ordinateur distant
4. Réglage du client VNC
5. Problèmes courants

Pour travailler avec un ordinateur distant via VNC, vous devez exécuter un programme client (visionneuse VNC, client VNC) sur l'ordinateur de l'utilisateur. Ce programme transmet des données sur les frappes au clavier et les mouvements de la souris effectués par l'utilisateur à un ordinateur distant et affiche des informations destinées à être affichées à l'écran.

1. Installation d'un client VNC
Pour le système d'exploitation Windows, vous pouvez télécharger et installer gratuitement les clients VNC UltraVNC et TightVNC.

Mac OS X depuis la version 10.5 prend en charge un client VNC dans RemoteDesktop. Pour les versions précédentes, vous pouvez utiliser les clients VNC JollysFastVNC et .

Pour la branche Linux de Debian (Ubuntu), le client VNC s'installe depuis le dépôt avec la commande :

Apt-get installer vncviewer

Pour la branche RedHat (CentOS, Fedora) - avec la commande :

Miam, installez vnc

Pour FreeBSD, le client VNC (TightVNC) s'installe à partir des packages avec la commande :

Pkg_add -r serrévnc

2. Connexion d'un client VNC à un ordinateur distant
Pour connecter un client VNC à un ordinateur distant, vous devez spécifier son adresse IP ou son nom DNS, ainsi que le numéro d'affichage (par défaut, :0) ou le numéro de port TCP (par défaut, 5900). Si le serveur VNC nécessite une autorisation, lors de la connexion à celui-ci, le client VNC demandera un mot de passe. Veuillez noter que le mot de passe d'accès au serveur VNC n'est associé à aucun compte (compte utilisateur) sur l'ordinateur distant, mais sert uniquement à restreindre l'accès à l'affichage du serveur VNC.

Après avoir établi une connexion et ouvert l'écran, en fonction des paramètres du serveur VNC, une autorisation de l'utilisateur sur le serveur virtuel peut être requise ou une session de travail déjà en cours d'un utilisateur peut être ouverte.

Puisque plusieurs serveurs VNC peuvent fonctionner sur un ordinateur en même temps, le paramètre est utilisé pour les séparer afficher le numéro. Par exemple, un serveur VNC peut s'exécuter sur display:0, un autre sur display:1. Chaque numéro d'affichage correspond au numéro de port TCP sur lequel le serveur VNC accepte les connexions. Le numéro de port de l'affichage est obtenu en ajoutant le numéro d'affichage au numéro de port de base - 5900. Display:0 correspond au port TCP 5900, display:1 - port 5901.

3. Déconnexion du client VNC de l'ordinateur distant
Lors de la fermeture de la fenêtre du client VNC ou après avoir quitté l'environnement à l'aide des outils de bureau, selon les paramètres du serveur VNC, la session de travail de l'utilisateur peut se fermer avec tous les programmes en cours d'utilisation arrêtés, ou continuer à travailler et être à nouveau disponible lors de la connexion au serveur VNC. encore.
4. Réglage du client VNC
Une grande quantité d'informations transmises à l'écran entraîne des exigences accrues en matière de vitesse de canal - son débit et le temps de transmission des paquets. Le manque de bande passante entraîne des retards inconfortables en cas de changements importants dans les informations affichées à l'écran - ouverture de nouvelles fenêtres, défilement, etc. Les latences seront particulièrement longues lors de l'affichage de photographies et d'autres images ou éléments d'interface comportant un grand nombre de couleurs et de formes complexes.

Le principal paramètre qui affecte la quantité de données transmises est l'algorithme de codage des graphiques transmis. Pour réduire le volume et, par conséquent, accélérer le travail, il est recommandé d'utiliser les algorithmes Tight, ZLib, ZRLE - par rapport aux données non compressées (Raw), ils fournissent une compression des dizaines de fois, chargeant considérablement le processeur. Ces algorithmes de codage offrent un fonctionnement confortable même sur les canaux avec une vitesse de 256 à 512 Kbps.

Pour réduire la quantité d'informations transmises sur le réseau, vous pouvez également définir un niveau de compression élevé (Niveau de compression, Valeur de compression), un niveau de qualité JPEG faible (Qualité JPEG) et activer le mode de réduction des couleurs (-bgr233, Couleurs restreintes). Le plus grand effet, avec une diminution notable de la qualité de l'image, est fourni par le mode de réduction du nombre de couleurs - le volume des informations transmises est réduit de 1,5 à 3 fois, respectivement, l'affichage à l'écran est accéléré de 1,5 -3 fois.

JPEG est utilisé par l'algorithme de codage Tight pour compresser les zones de l'écran contenant des photographies et d'autres images complexes avec un grand nombre de couleurs. L'utilisation de Tight+JPEG réduit la quantité de données transmises de 2 à 5 fois. Les autres algorithmes de codage JPEG ne sont pas pris en charge.

1. Menu déroulant « Système -> Options »

Le volume des données transmises et la vitesse d'affichage sur le canal est de 1 Mbit/sec à l'ouverture du menu déroulant « Système -> Paramètres » (le menu est mis en évidence par une ligne pointillée verte sur la figure) :

5. Problèmes courants
Impossible de se connecter au serveur VNC
Besoin de vérifier:
  1. y a-t-il un accès à Internet ?
  2. si le serveur virtuel répond aux pings ;
  3. si le serveur VNC s'exécute sur le serveur virtuel ;
  4. y a-t-il un pare-feu en cours de route qui bloque l'accès au port TCP du serveur VNC ;
  5. Le numéro d'affichage ou le port TCP du serveur VNC est-il correctement spécifié (numéro de port = 5900 + numéro d'affichage).
Fonctionnement lent via un canal assez rapide
Si le client VNC ne parvient pas à se mettre d'accord avec le serveur VNC sur l'utilisation d'un algorithme de codage graphique avec compression des données, l'algorithme par défaut est sélectionné - Raw, qui transfère les données sans compression. De plus, le codage non compressé ou à faible compression peut être automatiquement sélectionné par le client VNC lorsque vous travaillez sur un réseau local rapide. Ce problème peut être résolu en forçant l'algorithme d'encodage avec un niveau de compression élevé - ZLib, ZRLE, Tight - dans les paramètres du client VNC.

Cependant, pour certaines combinaisons client et serveur, cette solution peut ne pas être utile en raison d'erreurs dans la négociation de l'algorithme de codage. Par exemple, un client TightVNC avec un serveur RealVNC ne peut souvent fonctionner qu'avec l'encodage Raw. La solution dans ce cas est de changer de client VNC ou de serveur VNC.

Pour travailler avec un serveur virtuel via VNC, vous devez exécuter un programme client (visionneuse VNC, client VNC) sur l'ordinateur de l'utilisateur. Ce programme transmet des données sur les frappes au clavier et les mouvements de souris effectués par l'utilisateur au serveur virtuel et affiche des informations destinées à être affichées sur l'écran du serveur virtuel.

Installer un client VNC

Pour le système d'exploitation Windows, vous pouvez télécharger et installer gratuitement les clients VNC UltraVNC et TightVNC.

Mac OS X depuis la version 10.5 prend en charge un client VNC dans RemoteDesktop. Pour les versions précédentes, vous pouvez utiliser les clients VNC JollysFastVNC et .

Pour la branche Linux de Debian (Ubuntu), le client VNC s'installe depuis le dépôt avec la commande :

Apt-get installer vncviewer

Pour la branche RedHat (CentOS, Fedora) - avec la commande :

Miam, installez vnc

Pour FreeBSD, le client VNC (TightVNC) s'installe à partir des packages avec la commande :

Pkg_add -r serrévnc

Connecter un client VNC à un serveur virtuel

Pour connecter un client VNC à un VDS/VPS, vous devez spécifier son adresse IP ou son nom DNS, ainsi que le numéro d'affichage (par défaut, :0) ou le numéro de port TCP (par défaut, 5900). Si le serveur VNC nécessite une autorisation, lors de la connexion à celui-ci, le client VNC demandera un mot de passe. Veuillez noter que le mot de passe d'accès au serveur VNC n'est associé à aucun compte (compte utilisateur) sur le serveur virtuel, mais sert uniquement à restreindre l'accès à l'affichage du serveur VNC.

Après avoir établi une connexion et ouvert l'écran, en fonction des paramètres du serveur VNC, une autorisation de l'utilisateur sur le serveur virtuel peut être requise ou une session de travail déjà en cours d'un utilisateur peut être ouverte.

Étant donné que plusieurs serveurs VNC peuvent fonctionner sur un ordinateur en même temps, le paramètre display number est utilisé pour les séparer. Par exemple, un serveur VNC peut s'exécuter sur display:0, un autre sur display:1. Chaque numéro d'affichage correspond au numéro de port TCP sur lequel le serveur VNC accepte les connexions. Le numéro de port de l'affichage est obtenu en ajoutant le numéro d'affichage au numéro de port de base - 5900. Display:0 correspond au port TCP 5900, display:1 - port 5901.

Déconnexion d'un client VNC d'un serveur virtuel

Lors de la fermeture de la fenêtre du client VNC ou après avoir quitté l'environnement à l'aide des outils de bureau, selon les paramètres du serveur VNC, la session de travail de l'utilisateur peut se fermer avec tous les programmes en cours d'utilisation arrêtés, ou continuer à travailler et être à nouveau disponible lors de la connexion au serveur VNC. encore.

Réglage du client VNC

Une grande quantité d'informations transmises à l'écran entraîne des exigences accrues en matière de vitesse de canal. Le manque de bande passante entraîne des retards inconfortables en cas de changements importants dans les informations affichées à l'écran - ouverture de nouvelles fenêtres, défilement, etc. Les latences seront particulièrement longues lors de l'affichage de photographies et d'autres images ou éléments d'interface comportant un grand nombre de couleurs et de formes complexes.

Le principal paramètre qui affecte la quantité de données transmises est l'algorithme de codage des graphiques transmis. Pour réduire le volume et, par conséquent, accélérer le travail, il est recommandé d'utiliser les algorithmes Tight, ZLib, ZRLE - par rapport aux données non compressées (Raw), ils fournissent une compression des dizaines de fois, chargeant considérablement le processeur. Ces algorithmes de codage offrent un fonctionnement confortable même sur les canaux avec une vitesse de 256 à 512 Kbps.

De plus, pour réduire la quantité d'informations transmises sur le réseau, vous pouvez définir un niveau de compression élevé (Niveau de compression, Valeur de compression), un niveau de qualité JPEG faible (Qualité JPEG) et activer le mode de réduction des couleurs (-bgr233, Couleurs restreintes). . Le plus grand effet, avec une diminution notable de la qualité de l'image, est fourni par le mode de réduction du nombre de couleurs - le volume des informations transmises est réduit de 1,5 à 3 fois, respectivement, l'affichage à l'écran est accéléré de 1,5 -3 fois.

JPEG est utilisé par l'algorithme de codage Tight pour compresser les zones de l'écran contenant des photographies et d'autres images complexes avec un grand nombre de couleurs. L'utilisation de Tight+JPEG réduit la quantité de données transmises de 2 à 5 fois. Les autres algorithmes de codage JPEG ne sont pas pris en charge.

1. Menu déroulant "Système -> Options"

Le volume des données transmises et la vitesse d'affichage sur le canal est de 1 Mbit/sec lorsque vous ouvrez le menu déroulant « Système -> Paramètres » (le menu est mis en évidence par une ligne pointillée verte sur la figure) :

Problèmes communs
Impossible de se connecter au serveur VNC

Besoin de vérifier:

  1. y a-t-il un accès à Internet ?
  2. si le serveur virtuel répond aux pings ;
  3. si le serveur VNC s'exécute sur le serveur virtuel ;
  4. y a-t-il un pare-feu en cours de route qui bloque l'accès au port TCP du serveur VNC ;
  5. Le numéro d'affichage ou le port TCP du serveur VNC est-il correctement spécifié (numéro de port = 5900 + numéro d'affichage).
Fonctionnement lent via un canal assez rapide

Si le client VNC ne parvient pas à se mettre d'accord avec le serveur VNC sur l'utilisation d'un algorithme de codage graphique avec compression des données, l'algorithme par défaut est sélectionné - Raw, qui transfère les données sans compression. De plus, le codage non compressé ou à faible compression peut être automatiquement sélectionné par le client VNC lorsque vous travaillez sur un réseau local rapide. Ce problème peut être résolu en forçant l'algorithme d'encodage avec un niveau de compression élevé - ZLib, ZRLE, Tight - dans les paramètres du client VNC.

Cependant, pour certaines combinaisons client et serveur, cette solution peut ne pas être utile en raison d'erreurs dans la négociation de l'algorithme de codage. Par exemple, un client TightVNC avec un serveur RealVNC ne peut souvent fonctionner qu'avec l'encodage Raw. La solution dans ce cas est de changer de client VNC ou de serveur VNC.

Informatique en réseau virtuel (VNC) un système d'accès à distance à un bureau d'ordinateur utilisant le protocole RFB (Remote FrameBuffer). Le contrôle s'effectue en transmettant les frappes du clavier et les mouvements de la souris d'un ordinateur à un autre et en relayant le contenu de l'écran via un réseau informatique.

Le système VNC est indépendant de la plate-forme : un client VNC, appelé VNC Viewer, exécuté sur un système d'exploitation peut se connecter à un serveur VNC exécuté sur n'importe quel autre système d'exploitation. Il existe des implémentations client et serveur pour presque tous les systèmes d'exploitation, y compris J2ME). Plusieurs clients peuvent se connecter à un serveur VNC en même temps. Les moyens les plus populaires d’utiliser VNC sont l’assistance technique à distance et l’accès à un ordinateur de travail depuis chez soi.

VNC a été développé par AT&T. Le code source original est disponible sous la licence publique générale GNU, tout comme la plupart des variantes VNC qui existent actuellement.

Histoire

VNC a été créé au Olivetti & Oracle Research Lab, qui appartenait à l'époque à Oracle Corporation. En 1999, le laboratoire est racheté par AT&T, qui ferme le département développement en 2002.

Le nom vient du réseau informatique client léger Videotile, qui était un panneau LCD avec saisie au stylet et connexion rapide.

Développeurs qui ont travaillé sur VNC au AT&T Research Lab :

  • Tristan Richardson
  • Quentin Stafford-Fraser
  • James Weatherall
  • Ken Bois
  • Andy Harter
  • Charlie McLachlan
  • Paul Webster

Appareil

VNC se compose de deux parties : client et serveur. Le serveur est un programme qui permet d'accéder à l'écran de l'ordinateur sur lequel il s'exécute. Le client (ou visualiseur) est un programme qui reçoit une image d'écran du serveur et interagit avec elle.

VNC est un protocole très simple basé sur des primitives graphiques : "Mettez un rectangle données de pixels à une position spécifiée par des coordonnées. Le serveur envoie des petits rectangles au client. Ce schéma, dans sa forme primitive, consomme la majeure partie de la bande passante du canal. Diverses méthodes sont utilisées pour réduire la charge du canal. Il y a plusieurs encodages- des méthodes permettant de déterminer la manière la plus efficace de transmettre ces rectangles. Le protocole VNC permet au client et au serveur de « se mettre d'accord » sur le codage qui sera utilisé. La méthode de codage la plus simple prise en charge par tous les clients et serveurs est le « codage brut », dans lequel les pixels sont transférés de gauche à droite et de haut en bas, et après avoir transféré l'état d'origine de l'écran, seuls les pixels modifiés sont transférés. Cette méthode fonctionne très bien pour des modifications mineures de l'image à l'écran (mouvement de la souris sur le bureau, saisie sous le curseur), mais la charge du canal devient très élevée lorsqu'un grand nombre de pixels sont modifiés simultanément, par exemple lorsque vous regardez une vidéo dans mode plein écran.

Par défaut, VNC utilise la plage de ports TCP 5900 à 5906. Chaque port représente un écran de serveur X correspondant (les ports 5900 à 5906 sont associés aux écrans :0 à :6). Les clients Java, disponibles dans de nombreuses implémentations qui utilisent un serveur Web intégré à cet effet, comme RealVNC, communiquent avec les écrans de la même manière, mais sur la plage de ports allant de 5800 à 5806. De nombreux ordinateurs Windows peuvent utiliser un seul port en raison au manque de propriétés multijoueurs inhérentes

Il est également possible de se reconnecter du serveur au client. Dans ce cas, le client passe en mode Ecoute et la connexion est initiée par le serveur sur le port TCP 5500 du client.

Les ports peuvent être modifiés.

Sécurité

Initialement, VNC n'utilise pas de cryptage du trafic, mais dans la procédure d'authentification, le mot de passe n'est pas transmis en texte clair, mais utilise un algorithme défi-réponse et est utilisé à la fois lors de la connexion via Internet et dans les réseaux locaux. Les clients SSH vous permettent de créer des tunnels SSH à partir de toutes les principales plateformes (Windows,

En outre, de nombreuses versions modernes de VNC prennent en charge les extensions de protocole standard qui implémentent le cryptage et/ou la compression du trafic VNC, la délimitation de liste d'accès (anglais) - version officielle prise en charge par l'équipe des laboratoires AT&T.

  • TightVNC (anglais) - version alternative basée sur RealVNC
  • UltraVNC (anglais) - implémentation de VNC pour Microsoft Windows
  • Vinagre (anglais) - Client VNC pour l'environnement de bureau GNOME OS Quel logiciel VNC est le meilleur ?
  • Fondation Wikimédia. 2010.

    Voyez ce qu'est « VNC » dans d'autres dictionnaires :

      VNC- son las siglas en anglais de Virtual Network Computing (Computación Virtual en Red). VNC est un programme de logiciel libre basé sur une structure client serveur qui nous permet de contrôler le serveur ordinateur à distance en passant par … Wikipedia Español

      VNC- son las siglas en anglais de Virtual Network Computing (Computación en Red Virtual). VNC est un programme de logiciel libre basé sur une structure client serveur qui nous permet de contrôler le serveur ordinateur à distance en passant par … Enciclopedia Universal

      REDIRECTION de l'informatique en réseau virtuel... Wikipédia

      VNC- Une installation typique de VNC dans un logiciel Fenster Virtual Network Computing (VNC) est un logiciel qui fournit une image d'un ordinateur de bureau (serveur) au sein d'un ordinateur de réseau local (client) anzeigt et im Gegenzug Tastatur et Mausbewegungen des… … Wikipédia allemand

    25 novembre 2009 à 13h21

    Connexion à un ordinateur distant via VNC

    • Configuration Linux

    Travailler avec le client VNC. Le matériel s'adresse aux utilisateurs inexpérimentés.

    1. Installation d'un client VNC
    2. Connexion d'un client VNC à un ordinateur distant
    3. Déconnexion du client VNC de l'ordinateur distant
    4. Réglage du client VNC
    5. Problèmes courants

    Pour travailler avec un ordinateur distant via VNC, vous devez exécuter un programme client (visionneuse VNC, client VNC) sur l'ordinateur de l'utilisateur. Ce programme transmet des données sur les frappes au clavier et les mouvements de la souris effectués par l'utilisateur à un ordinateur distant et affiche des informations destinées à être affichées à l'écran.

    1. Installation d'un client VNC
    Pour le système d'exploitation Windows, vous pouvez télécharger et installer gratuitement les clients VNC UltraVNC et TightVNC.

    Mac OS X depuis la version 10.5 prend en charge un client VNC dans RemoteDesktop. Pour les versions précédentes, vous pouvez utiliser les clients VNC JollysFastVNC et .

    Pour la branche Linux de Debian (Ubuntu), le client VNC s'installe depuis le dépôt avec la commande :

    Apt-get installer vncviewer

    Pour la branche RedHat (CentOS, Fedora) - avec la commande :

    Miam, installez vnc

    Pour FreeBSD, le client VNC (TightVNC) s'installe à partir des packages avec la commande :

    Pkg_add -r serrévnc

    2. Connexion d'un client VNC à un ordinateur distant
    Pour connecter un client VNC à un ordinateur distant, vous devez spécifier son adresse IP ou son nom DNS, ainsi que le numéro d'affichage (par défaut, :0) ou le numéro de port TCP (par défaut, 5900). Si le serveur VNC nécessite une autorisation, lors de la connexion à celui-ci, le client VNC demandera un mot de passe. Veuillez noter que le mot de passe d'accès au serveur VNC n'est associé à aucun compte (compte utilisateur) sur l'ordinateur distant, mais sert uniquement à restreindre l'accès à l'affichage du serveur VNC.

    Après avoir établi une connexion et ouvert l'écran, en fonction des paramètres du serveur VNC, une autorisation de l'utilisateur sur le serveur virtuel peut être requise ou une session de travail déjà en cours d'un utilisateur peut être ouverte.

    Puisque plusieurs serveurs VNC peuvent fonctionner sur un ordinateur en même temps, le paramètre est utilisé pour les séparer afficher le numéro. Par exemple, un serveur VNC peut s'exécuter sur display:0, un autre sur display:1. Chaque numéro d'affichage correspond au numéro de port TCP sur lequel le serveur VNC accepte les connexions. Le numéro de port de l'affichage est obtenu en ajoutant le numéro d'affichage au numéro de port de base - 5900. Display:0 correspond au port TCP 5900, display:1 - port 5901.

    3. Déconnexion du client VNC de l'ordinateur distant
    Lors de la fermeture de la fenêtre du client VNC ou après avoir quitté l'environnement à l'aide des outils de bureau, selon les paramètres du serveur VNC, la session de travail de l'utilisateur peut se fermer avec tous les programmes en cours d'utilisation arrêtés, ou continuer à travailler et être à nouveau disponible lors de la connexion au serveur VNC. encore.
    4. Réglage du client VNC
    Une grande quantité d'informations transmises à l'écran entraîne des exigences accrues en matière de vitesse de canal - son débit et le temps de transmission des paquets. Le manque de bande passante entraîne des retards inconfortables en cas de changements importants dans les informations affichées à l'écran - ouverture de nouvelles fenêtres, défilement, etc. Les latences seront particulièrement longues lors de l'affichage de photographies et d'autres images ou éléments d'interface comportant un grand nombre de couleurs et de formes complexes.

    Le principal paramètre qui affecte la quantité de données transmises est l'algorithme de codage des graphiques transmis. Pour réduire le volume et, par conséquent, accélérer le travail, il est recommandé d'utiliser les algorithmes Tight, ZLib, ZRLE - par rapport aux données non compressées (Raw), ils fournissent une compression des dizaines de fois, chargeant considérablement le processeur. Ces algorithmes de codage offrent un fonctionnement confortable même sur les canaux avec une vitesse de 256 à 512 Kbps.

    Pour réduire la quantité d'informations transmises sur le réseau, vous pouvez également définir un niveau de compression élevé (Niveau de compression, Valeur de compression), un niveau de qualité JPEG faible (Qualité JPEG) et activer le mode de réduction des couleurs (-bgr233, Couleurs restreintes). Le plus grand effet, avec une diminution notable de la qualité de l'image, est fourni par le mode de réduction du nombre de couleurs - le volume des informations transmises est réduit de 1,5 à 3 fois, respectivement, l'affichage à l'écran est accéléré de 1,5 -3 fois.

    JPEG est utilisé par l'algorithme de codage Tight pour compresser les zones de l'écran contenant des photographies et d'autres images complexes avec un grand nombre de couleurs. L'utilisation de Tight+JPEG réduit la quantité de données transmises de 2 à 5 fois. Les autres algorithmes de codage JPEG ne sont pas pris en charge.

    1. Menu déroulant « Système -> Options »

    Le volume des données transmises et la vitesse d'affichage sur le canal est de 1 Mbit/sec à l'ouverture du menu déroulant « Système -> Paramètres » (le menu est mis en évidence par une ligne pointillée verte sur la figure) :

    5. Problèmes courants
    Impossible de se connecter au serveur VNC
    Besoin de vérifier:
    1. y a-t-il un accès à Internet ?
    2. si le serveur virtuel répond aux pings ;
    3. si le serveur VNC s'exécute sur le serveur virtuel ;
    4. y a-t-il un pare-feu en cours de route qui bloque l'accès au port TCP du serveur VNC ;
    5. Le numéro d'affichage ou le port TCP du serveur VNC est-il correctement spécifié (numéro de port = 5900 + numéro d'affichage).
    Fonctionnement lent via un canal assez rapide
    Si le client VNC ne parvient pas à se mettre d'accord avec le serveur VNC sur l'utilisation d'un algorithme de codage graphique avec compression des données, l'algorithme par défaut est sélectionné - Raw, qui transfère les données sans compression. De plus, le codage non compressé ou à faible compression peut être automatiquement sélectionné par le client VNC lorsque vous travaillez sur un réseau local rapide. Ce problème peut être résolu en forçant l'algorithme d'encodage avec un niveau de compression élevé - ZLib, ZRLE, Tight - dans les paramètres du client VNC.

    Cependant, pour certaines combinaisons client et serveur, cette solution peut ne pas être utile en raison d'erreurs dans la négociation de l'algorithme de codage. Par exemple, un client TightVNC avec un serveur RealVNC ne peut souvent fonctionner qu'avec l'encodage Raw. La solution dans ce cas est de changer de client VNC ou de serveur VNC.

    Comment aider vos utilisateurs à accéder à un système Linux multi-utilisateurs de n'importe où

    Architecture des serveurs VNC et X

    L'interface utilisateur graphique (GUI) de Linux® utilise le système X Window (en abrégé X). X est une interface graphique inhabituelle à plusieurs égards, notamment parce qu'il s'agit nativement d'une interface réseau. Serveur X, par essence, est un programme de serveur réseau. Les programmes serveur réseau fournissent aux programmes clients un accès aux ressources locales, et cela est également vrai pour le serveur X. La particularité est que dans le cas du serveur X, les « ressources locales » sont l'écran, le clavier et la souris avec lesquels l'utilisateur travaille. Dans la configuration la plus courante, les programmes clients X s'exécutent sur le même ordinateur que le serveur. Ainsi, LibreOffice, le programme de manipulation d'images GNU (GIMP) ou d'autres programmes sont des clients X qui utilisent les protocoles réseau X pour accepter les données de l'utilisateur et afficher les résultats sur le même ordinateur.

    Cependant, lorsque X est utilisé sur un réseau, l'utilisateur est assis sur un ordinateur serveur X et les clients X sont des programmes qui doivent être exécutés sur un autre ordinateur. Cette configuration nécessite un deuxième protocole réseau pour établir la connexion. Ce deuxième protocole peut être telnet, Secure Shell (SSH) ou X Display Manager Control Protocol (XDMCP). Le serveur de ce protocole de connexion à distance s'exécute sur l'ordinateur client X et le client de connexion à distance s'exécute sur l'ordinateur serveur X. Le serveur de connexion distant exécute des clients X, qui à leur tour établissent une connexion au serveur X. illustre cette interaction. Les flèches en pointillé indiquent le début de la session. (Avec XDMCP, le client XDMCP est intégré au programme du serveur X.)

    Figure 1 : Remote Access X nécessite un client et un serveur sur les deux ordinateurs

    Cette configuration fonctionne très bien sur de nombreux réseaux locaux, mais n'est pas sans inconvénients. Par exemple, cela nécessite l'initiation d'un protocole réseau bidirectionnel, ce qui peut être empêché par un pare-feu ou un routeur de traduction d'adresses réseau (NAT). (SSH élimine cet obstacle en permettant le tunneling des sessions X.) De plus, bien que des serveurs X existent pour la plupart des plates-formes, ils ne sont généralement pas installés sur les ordinateurs Windows®. Pour ces raisons et d'autres, de nombreuses personnes préfèrent utiliser un autre protocole, Remote Frame Buffer (RFB), qui est implémenté dans la famille de programmes Virtual Network Computing (VNC).

    VNC est un outil multiplateforme qui permet un accès à distance à Linux, UNIX®, Mac OS X, Windows et autres systèmes à partir de tout type de client. L'utilisateur est assis sur un ordinateur client et accède à un ordinateur serveur distant. Sous Linux, un serveur VNC reflète le contenu de l'écran du serveur X local sur un ordinateur distant ou héberge son propre serveur X qui peut s'exécuter indépendamment de tout ce qui contrôle l'écran local. Le résultat est présenté dans la figure 2. Là encore, la flèche en pointillé indique le début de la session. Cette configuration élimine le besoin d'une connexion réseau inversée et, comme les clients et serveurs VNC sont disponibles pour de nombreux systèmes d'exploitation, le même programme client permet d'accéder à n'importe quel serveur.

    Figure 2. Le serveur VNC comprend un serveur X qui peut interagir avec les programmes locaux via le client X

    L'inconvénient de VNC est que l'authentification RFB est basée sur des mots de passe sans nom d'utilisateur. Ainsi, chaque utilisateur doit démarrer une session de serveur VNC indépendante et établir une connexion à cette instance VNC en spécifiant le numéro de port correct. Cette exigence est tolérable pour un système mono-utilisateur, mais entraîne des inconvénients extrêmes lorsque l'on travaille sur un ordinateur multi-utilisateurs.

    Pour résoudre ce problème, vous pouvez combiner ces deux approches : reconfigurer le serveur XDMCP local afin qu'il aide le serveur X intégré à VNC à fournir l'authentification multi-utilisateurs manquante. (La configuration résultante est illustrée dans la figure 3. La flèche en pointillé indique le début de la session.) Désormais, lorsque des utilisateurs VNC distants accèdent à l'ordinateur serveur VNC, ils peuvent saisir les noms d'utilisateur et accéder aux mots de passe pour leurs propres sessions VNC uniques, afin que l'ordinateur peut être utilisé aussi longtemps que n'importe quel utilisateur.

    Figure 3 : L'ajout de XDMCP à une configuration VNC offre une flexibilité accrue

    Configuration d'un serveur VNC

    Il existe plusieurs façons d'exécuter VNC, notamment à l'aide de scripts, en liant VNC à un environnement de bureau à l'aide d'outils de bureau et en utilisant xinetd pour écouter les connexions VNC. Cette dernière approche est décrite ici, car elle permet à VNC de s'exécuter d'une manière pouvant utiliser un serveur XDMCP. Avant de passer aux instructions de configuration de VNC pour qu'il s'exécute via xinetd, vous devez sélectionner un serveur VNC.

    Sélection d'un serveur VNC

    Il existe plusieurs programmes serveur VNC. (Voir section). Certains des plus populaires sont TightVNC, TigerVNC et RealVNC. Cet article utilise TightVNC comme exemple. Malheureusement, les détails de configuration sont à la fois spécifiques au serveur et à la distribution, les instructions ici devront donc être adaptées à votre logiciel.

    Installation de Xinetd

    De nombreuses distributions installent le superserveur xinetd par défaut, mais pas toutes. Étant donné que la méthode décrite ici suppose l'utilisation de xinetd, vous devez installer xinetd s'il n'est pas déjà installé. Sur la plupart des distributions, xinetd peut être installé à l'aide d'un gestionnaire de paquets, par exemple en appelant apt-get install xinetd sur les distributions basées sur Debian ou zypper install xinetd sur openSUSE.

    Vous devrez peut-être également configurer le processus de démarrage de xinetd. En règle générale, vous pouvez utiliser le script de démarrage System V (SysV) pour un démarrage unique :

    # /etc/init.d/xinetd début

    Pour configurer xinetd pour qu'il démarre automatiquement au démarrage de l'ordinateur, vous devez savoir comment fonctionnent les scripts de démarrage de votre distribution. Généralement, cela se fait avec un utilitaire tel que chkconfig (utilisé sur Fedora, openSUSE et les distributions associées), update-rc.d (utilisé sur Debian et les distributions associées) ou rc-update (utilisé sur Gentoo), quelque chose comme ceci :

    # chkconfig xinetd sur # update-rc.d xinetd activer # rc-update ajouter xinetd par défaut

    Entrez seulement unà partir de ces commandes ou trouvez l'équivalent pour votre distribution.

    Notez que xinetd peut ne pas démarrer s'il n'est pas configuré pour exécuter des services. Vous devrez donc peut-être attendre pour l'exécuter jusqu'à ce que vous ayez configuré xinetd pour gérer votre serveur VNC.

    Configuration de xinetd

    Les serveurs devant être gérés par xinetd placent les fichiers de configuration dans le répertoire /etc/xinetd.d. Ainsi, pour configurer xinetd pour gérer VNC, vous devez créer ou éditer un fichier avec le nom type /etc/xinetd.d/vnc.(Sur certaines distributions, telles que openSUSE, le package du serveur VNC installe un tel fichier.) Le listing 1 montre un exemple.

    Listing 1. Exemple de configuration VNC pour xinetd
    service vnc (désactiver = pas de socket_type = protocole de flux = tcp attendre = aucun utilisateur = personne serveur = /usr/bin/Xvnc server_args = -inetd -once -query localhost -geometry 1024x768 -profondeur 16 type = port NON LISTE = 5900)

    Cette entrée spécifie plusieurs options xinetd, dont la plupart doivent être laissées telles quelles. Vous trouverez ci-dessous les paramètres qui peuvent devoir être configurés.

    • service. VNC avec différents paramètres peut être exécuté sur plusieurs ports, mais dans ce cas, dans la première ligne du listing 1, vous devez donner à VNC un nom de service distinct pour chaque port.
    • serveur. Ce paramètre doit être modifié pour pointer vers le binaire principal du serveur VNC, généralement appelé Xvnc.
    • serveur_args. Vous souhaiterez certainement modifier certaines de ces valeurs, comme décrit ci-dessous.
    • port. VNC utilise les numéros de port 5900 et supérieurs. Vous pouvez exécuter le serveur avec différentes valeurs de paramètres via différents ports. Dans ce cas, chaque instance doit se voir attribuer son propre numéro de port.

    La partie la plus délicate de la configuration de xinetd consiste à définir les arguments du serveur. Vous pouvez utiliser les arguments présentés dans le listing 1 comme modèle, en en modifiant certains.

    • -requête localhost . Cette option spécifie que le serveur VNC X doit vérifier le système localhost pour l'authentification XDMCP. Il peut être modifié si vous souhaitez utiliser un ordinateur comme traducteur pour accéder aux programmes d'un autre.
    • -géométrie 1024x768 . Cette option définit la résolution virtuelle de la session VNC. Notez que cette résolution ne doit pas nécessairement correspondre à celle d'un serveur X standard exécuté sur la machine serveur. Vous pouvez créer plusieurs entrées qui s'exécutent à différentes résolutions afin que les utilisateurs puissent se connecter au serveur VNC à la résolution adaptée à leurs systèmes locaux.
    • -profondeur 16 . Ce paramètre définit la profondeur de couleur. Plus la valeur est faible, plus l'affichage se rafraîchit rapidement, mais une distorsion peut apparaître sur un écran comportant de nombreuses couleurs. La plage de valeurs valides va de 2 à 32.

    Il existe de nombreuses autres options, et certaines d'entre elles dépendent du serveur VNC. Reportez-vous à la documentation de votre serveur VNC.

    Configuration d'un serveur XDMCP

    La plupart des distributions Linux configurent leurs serveurs XDMCP pour gérer uniquement l'affichage local. Pour activer l'accès à distance, vous devez reconfigurer le serveur XDMCP pour accepter les demandes d'accès d'un serveur VNC exécuté sur le même ordinateur. Les détails dépendent du serveur XDMCP. Les trois plus couramment utilisés sous Linux sont GNOME Display Manager (GDM), Light Display Manager (LightDM) et KDE Display Manager (KDM). D'autres serveurs XDMCP, tels que XDM, nécessitent des paramètres différents de ceux décrits ici. Dans tous les cas, après avoir reconfiguré le serveur XDMCP, vous devrez le redémarrer.

    Modification du fichier de configuration XDMCP

    Si vous n'êtes pas sûr du serveur XDMCP utilisé sur votre système, vous pouvez le déterminer en affichant la liste des processus à l'aide de la ligne dm, par exemple :

    $ ps hache | grep dm 929 ? SS 0:00 /usr/bin/kdm 962 tty7 SS+ 0:19 /usr/bin/Xorg -br:0 vt7 -nolisten tcp -auth \ /var/lib/xdm/authdir/authfiles/A:0-pp4shb 30157 pts/3 S+ 0:00 grep --color=auto dm

    La première ligne de cette impression indique que KDM est en cours d'exécution. Par conséquent, pour que VNC puisse utiliser XDMCP, vous devez modifier le fichier de configuration de ce serveur. Les fichiers de configuration de la plupart des programmes XDMCP suivent le même format. Ils contiennent des sections dont les noms sont indiqués entre crochets, tels que . Les lignes suivant le nom de la section spécifient les paramètres à l'aide d'un signe égal, par exemple : enable=true . Le tableau 1 répertorie les noms de fichiers de configuration, les noms de sections et les paramètres qui doivent être définis pour que XDMCP fonctionne sur plusieurs serveurs Linux XDMCP courants.

    Tableau 1. Paramètres permettant à XDMCP de prendre en charge VNC pour différents serveurs XDMCP

    La section XDMCP du fichier de configuration peut être complètement manquante. S'il est présent, il peut désactiver explicitement la prise en charge de XMDCP, contenir des options commentées ou être vide. Quel que soit l'état initial du fichier, vous devez vous assurer que la section XDMCP est présente et que la prise en charge est activée. À titre d'exemple, regardons la configuration de KDM pour activer XDMCP :

    Activer = vrai

    Certaines distributions vous permettent d'activer des mesures de sécurité supplémentaires dont vous pourriez avoir besoin pour vous assouplir. L'un d'eux est un pare-feu. Les scripts de pare-feu sont généralement spécifiques à la distribution. Reportez-vous donc à la documentation de votre système pour obtenir des instructions sur la configuration d'un pare-feu. Vous souhaitez que localhost ait accès au port 177 et que les clients VNC accèdent au port 5900 (ou à tout autre port utilisé pour VNC).

    OpenSUSE dispose d'un fichier de configuration supplémentaire qui contrôle certains types d'accès, y compris l'accès XDMCP : /etc/sysconfig/displaymanager. Ouvrez ce fichier dans un éditeur de texte et recherchez la ligne suivante :

    DISPLAYMANAGER_REMOTE_ACCESS="non"

    Changez la valeur de ce paramètre en "oui" . Si vous laissez « non », la fenêtre de connexion au serveur XDMCP ne s'affichera pas lors de la connexion à un serveur VNC. Dans la plupart des distributions, ce changement Pas requis : ce fichier utilise uniquement openSUSE.

    Redémarrage du serveur XDMCP

    Une fois le serveur XDMCP configuré pour prendre en charge les connexions à distance, il doit être redémarré. Sur les distributions qui démarrent X via un fichier d'initialisation SysV, comme Debian et Gentoo, cela peut être fait en utilisant l'option de redémarrage :

    # /etc/init.d/gdm redémarrage

    Sur un système qui utilise un niveau d'exécution pour exécuter X, tel que Fedora ou openSUSE, vous devez passer au niveau du mode texte (généralement 3), puis revenir au niveau GUI (généralement 5) :

    # telinit 3 # telinit 5

    Gardez à l'esprit que l'une ou l'autre approche vous déconnecte de X, alors enregistrez tout travail que vous avez effectué dans votre session X avant de continuer.

    Test et débogage

    Vous pouvez désormais vous connecter depuis un ordinateur distant à l'aide d'un client VNC. La plupart des distributions Linux incluent la commande vncviewer, vous pouvez donc taper :

    vncviewer

    Ouvrir une session nom distant via VNC. Si VNC est configuré et fonctionne correctement, le résultat ressemblera à la figure 4. Si vous configurez plusieurs sessions VNC sur différents ports, vous pouvez spécifier le numéro de session VNC en le transmettant dans le cadre du nom d'hôte. Entrer:

    vncviewer : 3

    Pour vous connecter à la session 3 (via le port 5903).

    Figure 4. Lorsqu'il est configuré pour fonctionner avec XDMCP, VNC fournit l'invite Linux habituelle

    Si vous ne voyez pas l'écran de connexion XDMCP lorsque vous exécutez ce test, vous devrez déboguer. Voici quelques recommandations.

    • Si vncviewer signale que la connexion a été refusée, cela signifie très probablement que le superserveur sur la machine serveur VNC n'est pas configuré correctement. Vérifiez la configuration de xinetd et essayez de redémarrer le superserveur. Il est également possible que le pare-feu bloque l'accès à l'ordinateur serveur VNC.
    • Si le client VNC démarre et se connecte au serveur, mais que vous ne voyez qu'un écran gris avec un curseur qui peut être déplacé, le problème vient probablement de la configuration du serveur XDMCP. Vérifiez les paramètres ci-dessus et redémarrez le serveur XDMCP.
    • Examinez les fichiers journaux des événements comme vous le feriez normalement lors du débogage. Vous devrez peut-être rechercher tous les fichiers journaux dans le répertoire /var/log à l'aide de liens vers votre xinetd, votre serveur XDMCP et votre serveur VNC.

    Problèmes de sécurité VNC

    RFB n'est pas un protocole sécurisé ; La plupart des clients et serveurs VNC ne chiffrent pas leurs données. (VNC chiffre ses propres mots de passe, mais l'approche décrite ici n'utilise pas ces mots de passe.) Soyez prudent lorsque vous choisissez comment et où installer VNC. Si vous souhaitez utiliser VNC sur un réseau non sécurisé, trois options s'offrent à vous :

    • utiliser un réseau privé virtuel (VPN) ;
    • protocole de tunnel via SSH ;
    • Utilisez une option VNC qui prend en charge le cryptage, telle que TigerVNC avec la capacité de cryptage Transport Layer Security.

    Lorsque vous activez les fenêtres de connexion VNC comme décrit dans cet article, au moins deux ports (VNC et XDMCP) sont ouverts au monde extérieur. Les deux ports peuvent être restreints par des règles de pare-feu pour minimiser le risque d'abus. Notez que le port XDMCP (UDP 177) ne doit être ouvert qu'à localhost, la règle de pare-feu peut donc être assez restrictive.

    Conclusion

    En général, la connexion de VNC et XDMCP est une méthode utile pour fournir une connexion à distance avec une interface utilisateur graphique pour les ordinateurs Linux multi-utilisateurs. Cette méthode présente des avantages par rapport à l'application directe de XDMCP dans un environnement multiplateforme ou en cas de problèmes causés par un pare-feu ou un NAT. Sur les ordinateurs multi-utilisateurs, il est préférable aux méthodes de connexion directe VNC les plus courantes. Il y a des problèmes de sécurité à prendre en compte lors de l’utilisation de cette méthode. Soyez prêt à configurer des règles de pare-feu pour limiter les accès extérieurs indésirables et à utiliser le cryptage si les données transitent sur un réseau non fiable.

    Partager: