Serveur de terminal sous environnement standard

Introduction

Bien souvent, lorsque l'on demande la possibilité de faire un serveur de terminaux sous environnement standard, pas mal de choses ne sont pas claires dans l'esprit du demandeur.

Quelques faits simples:

  • UNIX a été conçu pour être utilisé à distance (que cela soit via des terminaux série, réseau, voire même graphiques -- X11)
  • X11 est un standard universel multiplateforme qui permet à une application cliente d'afficher sur un serveur d'affichage, au sein d'un réseau "rapide"
    • notions: client, serveur (inversés!); window manager (décoration des fenêtres, actions sur celles-ci); session manager (état); display manager (gestion du login)
    • si les applications travaillent intelligemment, ce sont des primitives de bas niveau qui sont envoyées, pas juste des bitmaps, le serveur se chargeant des menus détails (fontes, dessin graphique, etc)
    • de nombreuses améliorations ont cependant été apportées pour la performance (low-bandwidth X11, extensions OpenGL, suspension de session via serveur X proxy, extensions multi-écrans locales ou distantes, gestion de classe, etc)
      • x2go (ou en propriétaire nomachine NX) permet d'obtenir le niveau d'intégration et de performance souvent souhaité par le demandeur, et ajoute la possibilité de suspendre des sessions
  • plusieurs granularités existent
    • un simple tunnel SSH permet de lancer un client: ssh -X machine soffice (qui s'affiche alors sur le serveur d'affichage)
    • un serveur d'affichage peut faire contrôler son écran complètement par un display manager et/ou un window manager et session manager local ou distant: X -query xdmcp-host
  • des solutions non X11 existent également
    • VNC: au contraire de X11, basé sur du push (application vers affichage) et des primitives de bas niveau voire OpenGL, VNC utilise des différences de bitmap, il est donc parfois plus performant qu'X11 si l'on accepte de la dégradation.
      • à ma connaissance la seule façon de faire de l'!OpenGL sur le client applicatif (et non pas sur le serveur d'affichage)
    • RDP: un client d'affichage UNIX existe (rdesktop), mais sinon c'est un dead-end propriétaire

-- MarcSCHAEFER - 29 Jan 2012
Topic revision: r1 - 29 Jan 2012, MarcSCHAEFER
 

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback